";序列不包含匹配元素“;而不仅仅是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);
如何正确解释?
如果想要第一个匹配项,请使用FirstOrDefault
;如果没有匹配项,则使用null。
var myVar2 = myCollection.FirstOrDefault(q => q.Id == 10);
因为First()
只希望返回一个结果。它并不意味着要处理一个或没有结果。
你需要FirstOrDefault()
。