这是我的代码:
class Program
{
static void Main(string[] args)
{
string sentence = string.Empty;
sentence = Console.ReadLine();
string[] sent = sentence.Split(' ');
//to be sorted alphabetically
var x =
from k in sent
orderby k
select k;
foreach (string s in x)
{
Console.WriteLine(s.ToLower());
}
Console.ReadLine();
}
}
有没有找到和删除重复单词的方法,或者我应该制作自己的方法?
答案 0 :(得分:10)
您可以使用Linq的Distinct
扩展方法:
var sent = sentence.Split(' ').Distinct();
比较它们时,您也可以使用它来忽略字符串的情况 - 例如。 "WORD"
和"word"
将被视为重复:
var sent = sentence.Split(' ').Distinct(StringComparer.CurrentCultureIgnoreCase);
答案 1 :(得分:8)
使用System.Linq Distinct:
foreach (string s in x.Distinct())
答案 2 :(得分:4)
使用区别:
foreach (string s in x.Distinct())
{
Console.WriteLine(s.ToLower());
}
答案 3 :(得分:1)
这应该做你要问的一切:
class Program
{
static void Main(string[] args)
{
string sentence = string.Empty;
sentence = Console.ReadLine();
var sent = sentence
.Split(' ')
.Distinct()
.OrderBy(x => x);
foreach (string s in sent)
{
Console.WriteLine(s.ToLower());
}
Console.ReadLine();
}
}
希望它有所帮助!