官方问题:编写一个控制台应用程序,输入来自用户的句子(假设没有标点符号),然后确定并按字母顺序显示不重复的单词。对大写和小写字母一视同仁。[提示:您可以使用不带参数的字符串方法拆分,如 sentence.Split() 中,将句子分解为包含单个单词的字符串数组。默认情况下,Split 使用空格作为分隔符。在 LINQ 查询的 select 和 orderby 子句中使用字符串方法 ToLower 来获取每个单词的小写版本。]
这是我到目前为止所拥有的:
static void Main(string[] args)
{ // Creates list of type string
List<string> list = new List<string>();
// Writes for sentence
Console.Write("Enter your sentence. No punctuation. : ");
// Converts console into string
string sent = (Console.ReadLine());
// Splits string into array
string[] words = sent.Split();
// Writes array to list
for (int i = 0; i < words.Length; i++)
{
list.Add(words[i]);
}
// Sorts words
var sort =
from word in list
let lowerWord = word.ToLower()
orderby lowerWord
select lowerWord;
// I assume a var query goes here to delete dup words
// Writes words
foreach (string c in sort)
{
Console.WriteLine(c);
}
}
我不知道如何找到重复项并删除它们。