Find () и First () выдают исключения, как вместо этого вернуть null ?

Есть ли метод поиска лямбда linq, который возвращает значение null, вместо того, чтобы генерировать исключение, при поиске в списке?

Мое текущее решение выглядит примерно так: (чтобы исключение не было выброшено)

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, просто лучше решение)

61
задан abatishchev 10 April 2011 в 17:47
поделиться