c# - 如何在 C# 列表中获取最常出现的项目?

标签 c# list

我知道在 c# 中,要从列表中获取项目可以使用 FirstOrDefault() 或其他函数。我正在寻找一个函数可以从列表中获取最多显示的项目。

例如:

{ "a" , "a" , "a" , "b" }.MostPresents() => "a"

在 c# (asp.net 4.0) 中是否有为此的默认函数?

最佳答案

Is there a default function in c# (asp.net 4.0) for this?

不,但是您可以将一些 LINQ 组合在一起并很快得到它。

var mostFrequent = sequence.GroupBy(x => x)
                           .Select(g => new { g.Key, Count = g.Count() })
                           .MaxBy(x => x.Count)
                           .Key;

在这里,我使用 MaxBy .

关于c# - 如何在 C# 列表中获取最常出现的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8734110/

相关文章:

c# - 如何将长十进制转换为 IP 添加 IP 地址 C# 工作

c# - 如何在 ASP.NET Core 中测试 https 重定向?

c# - 使用后期绑定(bind)获取 List<T> 值

python - 将 ASCII 码序列作为整数转换为字符串

c# - 检测传入的 PHP 帖子,保存文件

c# - 同时开始多个执行线程上的操作

c# - 为什么在此 C# 表达式中不使用括号时 && 运算符会中断?

python - 以交替顺序在 python 中组合多个不同长度的列表

list - 获取所有 Emacs 缓冲区的列表

python - 在 Python 中将 float 列表四舍五入为整数