私は周りを検索しましたが.First
、いつ.FirstOrDefault
LINQ を使用したいのか、いつ使用したいのかについて明確な答えが見つかりませんでした。
いつ使用し
.First
ますか?結果が返されない場合に例外をキャッチしたい場合のみ?var result = List.Where(x => x == "foo").First();
そして、いつ使用し
.FirstOrDefault
ますか?結果がない場合に常にデフォルトのタイプが必要な場合は、var result = List.Where(x => x == "foo").FirstOrDefault();
それで、テイクはどうですか?
var result = List.Where(x => x == "foo").Take(1);
Single
とSingleOrDefault
。私は人々First
が本当に意味するときに使用するのが嫌いSingle
です。)
.FirstOrDefault()
常に使用すると、より意味のある例外をスローする機会が得られることも考慮してください。シーケンス例外がスローさ.First()
れ、メソッド内で複数の例外がスローされた場合、どのステートメントが問題であるかを識別するのが難しい場合があります。
.First
そして.FirstOrDefault
その引数として取る述語、両方のvar result = List.Where(x => x == "foo").First();
ように書き換えることができvar result = List.First(x => x == "foo");