查找列表中出现次数最多的数字

有没有使用linq的快捷好方法?

回答:

怎么样:

var most = list.GroupBy(i=>i).OrderByDescending(grp=>grp.Count())

.Select(grp=>grp.Key).First();

或在查询语法中:

var most = (from i in list

group i by i into grp

orderby grp.Count() descending

select grp.Key).First();

当然,如果您将反复使用它,则可以添加扩展方法:

public static T MostCommon<T>(this IEnumerable<T> list)

{

return ... // previous code

}

然后,您可以使用:

var most = list.MostCommon();

以上是 查找列表中出现次数最多的数字 的全部内容, 来源链接: utcz.com/qa/417533.html

回到顶部