列表中最大的子组,但具有确定性
本文关键字:确定性 列表 | 更新日期: 2023-09-27 18:20:07
在一个由100个整数值为IntValue
的项目组成的列表中,我可以很容易地根据这些值进行分组var groupby = list.GroupBy(i => i.IntValue);
现在,在groupby
变量中找到最大组的最佳Linq方法是什么?
它必须是确定性的,所以当列表中有两个最大的组具有相同的项目数时,我想选择IntValue
的最低值。
只需进行一些排序,然后选择第一个:
var group = groupby.OrderByDescending(g => g.Count())
.ThenBy(g => g.Key)
.First();
您可以使用基于语法的查询来实现同样的目的:
var group = (from g in groupby
order g by g.Count() descending, g.Key
select g).First();