我有一个简单的对象:
public class obj
{
public Int32 id { get; set; }
public Int32 source { get; set; }
}
现在我有一个列表:List<obj>
个10个对象,其中5个源设置为100
,3个源设置为200
,2个源设置为{{1 }}
我需要按来源进行分组,这会产生三个项2500
,100
和200
。
此外,我需要按计数订购,如下:
2500
最终结果是我希望获得具有最高计数的来源,在这种情况下将为5 100
3 200
2 2500
答案 0 :(得分:3)
var res = lst.GroupBy(o=>o.source)
.Select(grp=>new {Count=grp.Count(),Source=grp.Key});
答案 1 :(得分:3)
这将为您提供最重要的来源:
int topSource = list.GroupBy(o => o.source)
.OrderByDescending(g => g.Count())
.First()
.Key;
解释