"Sequence contains no matching element "而不仅仅是空



myCollection不包含Id == 10:元素

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

在上述情况下,myVar1仅表示空集合。

但是,为什么在下面的例子中,我得到一个Sequence不包含匹配元素异常,而只是myVar2中的null

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

如何正确解释?

如果想要第一个匹配项,请使用FirstOrDefault;如果没有匹配项,则使用null。

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

因为First()只希望返回一个结果。它并不意味着要处理一个或没有结果。

你需要FirstOrDefault()

相关内容

  • 没有找到相关文章

最新更新