0

には次のmyCollection要素が含まれていませんId == 10:

var myVar1 = myCollection.Where(q => q.Id == 10);

上記の場合、myVar1は空のコレクションのみを表します。

しかし、次の例で、シーケンスに一致する要素が含まれていないという例外が発生するのnullmyVar2なぜですか?

var myVar2 = myCollection.First(q => q.Id == 10);

正しく説明するには?

4

2 に答える 2

7

最初に一致する項目が必要な場合に使用するFirstOrDefaultか、何もない場合は null を使用します。

var myVar2 = myCollection.FirstOrDefault(q => q.Id == 10);
于 2013-02-07T18:57:35.947 に答える
4

First()1 つだけの結果が返されることを期待しているためです。1 つまたは 0 の結果を処理するためのものではありません。

あなたはそれが必要FirstOrDefault()です。

于 2013-02-07T18:57:48.853 に答える