1. ホーム
  2. c#

[解決済み] Find()とFirst()で例外が発生した場合、代わりにnullを返すにはどうすればよいですか?

2023-05-16 04:52:05

質問

リスト検索時に例外をスローするのではなく、nullを返すlinq lambda検索メソッドはありますか?

私の現在の解決策は次のようなものです。(例外が投げられないようにするため)

if (list.Exists(x => x.Foo == Foo))
{
    var listItem = list.Find(x => x.Foo == Foo);
}

表現を繰り返すのはおかしいと感じる

のようなもの.

var listItem = list.Find(x => x.Foo == Foo);
if (listItem != null)
{
    //Do stuff
}

...私にはより良く感じられます。それとも私だけでしょうか?

この件に関してより良いアプローチはありますか?(解決策はnullを返す必要はなく、より良い解決策があれば良いのです)

どのように解決するのですか?

var listItem = list.FirstOrDefault(x => x.Foo == Foo);
if (listItem != null)
{
    //Do stuff
}