我有一个 LINQ 查询,它应该返回单个结果或不返回结果。我调用 Single()
得到这样的结果:
var propertyDataSource = (from x in myCollection
where SomeCondition(x)
select x).Single();
当我的查询只有一个结果时,这可以正常工作,但如果没有结果,它会抛出 System.InvalidOperationException
消息 Sequence contains no elements。 p>
我该如何解决这个问题?
最佳答案
使用 SingleOrDefault
相反。
Single
当枚举不包含一个元素时抛出异常, SingleOrDefault<T>
返回 default(T)
(对于引用类型是 null
)当调用空枚举时。请注意,如果枚举中有多个元素,两者都会抛出异常。
关于c# - 检查 single() LINQ 是否返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21196253/