0

以下の linq ステートメントは、一致するレコードが見つからない場合に例外エラーを返します。とにかくこれを処理する方法はありますか?, アドバイスしてください, ありがとう

AdventureEntities hem = new AdventureEntities ();
Guid productId;

Adventure.Product list= hem.Product .Where(x => x.Product== productId).FirstOrDefault();
4

1 に答える 1

4

いいえ、それは例外をスローするべきではありません。ただし、結果がない場合は-に設定listされます。nullFirstOrDefault

次に を逆参照listすると、NullReferenceException. 最初に nullity をチェックするだけでこれを回避できます。

if (list != null)
{
    // Use the list
}

またFirstOrDefault、述語を受け入れるオーバーロードを使用して、コードを簡単にすることもできます。

var list = hem.Product.FirstOrDefault(x => x.Product== productId);
于 2013-10-02T06:29:25.873 に答える