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分组统计对象出现次数的主要内容,如果未能解决你的问题,请参考以下文章

c# linq groupby是默认去掉重复行吗

sql语句统计不同字段出现的次数并显示。

LINQ技巧:如何通过多次调用GroupBy实现分组嵌套

Python数据分析分组统计groupby

如何计算Dataframe中,列中元素连续出现次数

SQL 分组统计并排序