我有一个列表,int?
该列表可以有3个不同的值:null,1和2。我想知道其中哪个出现在我的列表中最多。要按值对它们进行分组,我尝试使用:
MyCollection.ToLookup(r => r)
如何最大程度地获取价值?
您不需要查找,一个简单的GroupBy就可以了:
var mostCommon = MyCollection
.GroupBy(r => r)
.Select(grp => new { Value = grp.Key, Count = grp.Count() })
.OrderByDescending(x => x.Count)
.First()
Console.WriteLine(
"Value {0} is most common with {1} occurrences",
mostCommon.Value, mostCommon.Count);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句