";序列不包含匹配元素“;而不仅仅是null

本文关键字:元素 不仅仅是 null 包含匹 quot | 更新日期: 2023-09-27 17:58:08

myCollection不包含Id == 10:元素

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

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

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

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

如何正确解释?

";序列不包含匹配元素“;而不仅仅是null

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

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

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

你需要FirstOrDefault()

相关文章: