c# - 使用LINQ C#在字符串列表中查找字符出现频率最高的字符串

标签 c# arrays linq list

我正在处理二进制向量,因此string中的每个List<string>看起来像

vectors[0] = "1 0 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1"; 
vectors[1] = "1 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1";


我想从List<string>中获取最大的字符串,且最多为1。

最佳答案

我觉得这里提供的解决方案太复杂了。
所以这是我的:

vectors.OrderByDescending(v => v.Count(c => c == '1')).First();


请注意,每个“向量”仅计算一次计数。 EnumerableSorter为您执行此操作。

如果您想获得性能更高的解决方案,请使用@octavioccls answer

关于c# - 使用LINQ C#在字符串列表中查找字符出现频率最高的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36919912/

相关文章:

c# - 将 int 视为字符串的 sql 查询 - 问题?

c++ - 将特征向量复制到 C 数组?

java - IP 范围和端口扫描器

c# - ServiceStack "new"api 和异步等待

c# - 通过网络服务暂停流媒体广播

c# - 如何使用 AutomationId 识别 WinForms DevExpress 控件?

JavaScript 检查数组是否包含修改后的值,计算图像中的唯一像素

c# - Linq for xml 解析返回 null 元素

.net - LINQ:何时使用 SingleOrDefault 与 FirstOrDefault() 以及过滤条件

c# - LINQ 查询中单个表的多个计数