繁体   English   中英

“序列不包含匹配元素”,而不是null

[英]“Sequence contains no matching element ” instead of just null

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM