Linq通过GroupBy分组统计对象出现次数
Posted 沧海·
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq通过GroupBy分组统计对象出现次数相关的知识,希望对你有一定的参考价值。
举例:
现有一个集合其中有6个对象现在分别是
calss1=1,
name=“张三”
calss1=1,
name=“李四”
calss1=1,
name=“王五”
calss1=2,
name=“于六”
calss1=2,
name=“李七”
calss1=3,
name=“王八”
现在需要再内存中通过LINQ得出每个班级的人数并且按照从高到低排序的集合;
例如:[
class=1,num=3
,
class=2,num=2
,
class=3,num=1
]
============================
解决方案:
var ret = datas.GroupBy(x => x.class1).Select(x => new
classId= x.Key,
count = x.Count()
).OrderByDescending(x => x.count );
List<outclass> outclass=new List<outClass>
foreach (var item in ret)
outclass outclass1=new outclass();
outclass1.class=item.classId;
outclass1.num=item.count;
outclass.add(outclass1);
return outclass;
以上是关于Linq通过GroupBy分组统计对象出现次数的主要内容,如果未能解决你的问题,请参考以下文章