如何从C#中的列表中返回重复频率最高的单词?
我有一个如何从C#中的列表中返回重复频率最高的单词?,c#,C#,我有一个列表,里面有5k个单词 var abc = new List<ClassName>(); 这将获得abc列表中最流行的Datum实例 var mostPopular = abc .GroupBy(x => x.name) .OrderByDescending(g => g.Count()) .First(); 如果只需要最常用的名称值,请在末尾添加选择 var mostPopularName = abc .GroupBy(x => x.n
列表
,里面有5k个单词
var abc = new List<ClassName>();
这将获得
abc
列表中最流行的Datum
实例
var mostPopular = abc
.GroupBy(x => x.name)
.OrderByDescending(g => g.Count())
.First();
如果只需要最常用的名称
值,请在末尾添加选择
var mostPopularName = abc
.GroupBy(x => x.name)
.OrderByDescending(g => g.Count())
.First()
.Select(x=> x.name);
该LINQ
查询将获取您的列表,并按name
属性对其进行分组,因此您将获得对象:name
,Collection
你想按
Count
降序排列,然后先按计数
你能展示一下ClassName
的类定义吗?GroupBy
按单词,OrderByDescending
按计数
,先获取
var mostPopularName = abc
.GroupBy(x => x.name)
.OrderByDescending(g => g.Count())
.First()
.Select(x=> x.name);
var result = abc
.GroupBy(x => x.name)
.OrderByDescending(grouped => grouped.Count())
.First();