怎么样:
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();