如何从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();