公式の質問: ユーザーから文を入力するコンソール アプリケーションを作成し (句読点がないものとします)、重複していない単語を判別してアルファベット順に表示します。大文字と小文字を同じように扱います。[ヒント: 引数なしで文字列メソッド Split を使用すると、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);
}
}
重複を見つけて削除する方法がわかりません。