如何在c#列表中获得显示最多的项
本文关键字:显示 列表 | 更新日期: 2023-09-27 18:19:23
我知道在c#中,从列表中获取项目可以使用FirstOrDefault()或其他函数。我正在寻找一个函数可以从列表中获得最呈现的项目。
例如:{ "a" , "a" , "a" , "b" }.MostPresents() => "a"
在c# (asp.net 4.0)中是否有一个默认函数用于此?
在c# (asp.net 4.0)中是否有一个默认函数用于此?
不,但你可以拼凑一些LINQ,很快就能得到。
var mostFrequent = sequence.GroupBy(x => x)
.Select(g => new { g.Key, Count = g.Count() })
.MaxBy(x => x.Count)
.Key;
这里我用的是MaxBy
var MostCommonItem = list.GroupBy(item => item)
.OrderByDescending(g => g.Count())
.Select(g => g.Key).First();