Find()和First()会抛出异常,如何改为返回null而不是抛出异常?

33 浏览
0 Comments

Find()和First()会抛出异常,如何改为返回null而不是抛出异常?

有没有一个linq lambda搜索方法在搜索列表时返回null,而不是抛出异常?

我的当前解决方案类似于:(为了避免抛出异常)

如果(列表.Exists(x => x.Foo == Foo))
{
    var listItem = 列表.Find(x => x.Foo == Foo);
}

重复表达式感觉不对。

类似于...

var listItem = 列表.Find(x => x.Foo == Foo);
如果(listItem!= null)
{
    //进行操作
}

... 对我来说更好。或者只有我觉得这样?

在这个问题上你有更好的方法吗?(解决方案不一定要返回null,只要有更好的解决方案即可)

0