c# - 检查 single() LINQ 是否返回 NULL

标签 c# linq

我有一个 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/

相关文章:

xml - 将 XML 注释添加到由 LINQ to SQL 设计器生成的类属性

asp.net - linq foreach 性能

c# - WCF Rest .svc 在直接查看时抛出错误,但在其他情况下有效

c# - Visual Studio 2019 : Cannot get rid of warning on VC++ 2015 runtime not found

c# - 在常规 mvc Controller (不是 web api Controller )中使用身份的单元测试方法

c# - 如何在 orderby 子句中使用带有动态参数的 LINQ

c# - 如何在 ASP .NET Core 中初始化主机之前读取配置设置?

c# - VB.NET 问题。林克支持?

c# - Asp.Net web api - 如何获取所有记录

c# - 根据另一个对象对列表进行排序