私は周りを検索しましたが.First、いつ.FirstOrDefaultLINQ を使用したいのか、いつ使用したいのかについて明確な答えが見つかりませんでした。
いつ使用し
.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");