C# Linq Query group by 检查结果是否为空

标签 c# linq

如果我有这样的类(class)

public class Test
{
   public string Id {get; set;}
   public string Name {get; set;}
   public int Value {get; set;}
}

然后:

List<Test> values = new List<Test>(); // this contains let's say 10 items

我喜欢这样:

var grouped = values.Where(x=>x.Value > 10).GroupBy(x=>x.Name);

我的问题是如何检查 grouped == null?或者我如何检查是否没有符合该条件的分组?

我问是因为如果我这样做:

if (grouped == null) // this is false although the linq yielded no results
{

}

最佳答案

您可以使用方法Any():

var anyItems = grouped.Any();

您不需要检查是否为 null,因为分组将返回一个空集合而不是 null

关于C# Linq Query group by 检查结果是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30038627/

相关文章:

c# - Hangfire 安装/启动

c# - 如何在 Linq To Entities 中维护事务

c# - C# 中的 Nullsafe 导航

c# - Winform 数据源更新

c# - 如何使用 Razor 重定向到主页

c# - 获取对 Entity Framework 中对象所做的所有更改

python maketrans和translate的C#等价

c# - 如何在 LINQ 中使用异步和等待?

c# - C# 中的绑定(bind)/链接对象/类,如 LINQ

c# - 为什么会发生此错误 'Sequence contains no elements' ?