c# linq group by 计数
时间: 2023-11-14 13:11:53 浏览: 108
C#中的LINQ(Group By)可以用于对集合进行分组,然后对每个组进行聚合操作,例如计数。下面是一个示例代码:
```
List<aa> a = new List<aa>();
a.Add(new aa(1, 1,18));
a.Add(new aa(1, 2,15));
a.Add(new aa(1, 3,44));
a.Add(new aa(2, 1,88));
a.Add(new aa(2, 2,60));a.Add(new aa(2, 3,70));
var query = from saa in a
group saa by saa.cmd into g
select new { g.Key, age30 = g.Where(y => y.age > 30).Count() };
foreach (var item in query)
{
Console.WriteLine("公司:" + item.Key);
Console.WriteLine("age30+:" + item.age30);
Console.WriteLine("-------");
}
```
在上面的代码中,我们首先定义了一个List<aa>类型的集合a,然后使用LINQ的Group By操作符对其进行分组,按照cmd属性进行分组。接着,我们使用Where操作符筛选出age大于30的元素,并使用Count()方法计算符合条件的元素个数。最后,我们使用匿名类型将结果进行封装,输出每个组的Key和符合条件的元素个数。
阅读全文