input.GroupBy(x => x).OrderByDescending(x => x.Count()).First().Key
笔记:
- 如果您需要此代码才能在.Net的古代(2.0)版本上使用,请考虑使用LinqBridge。如果您不能使用C#3.0(以.Net 2.0为目标),则可能会缺少lambda支持,因此最好使用其他解决方案。xanatos答案中涵盖了另一个.Net 2.0+选项。
- 对于其中
"aaaabbbb"
只有一个的情况将被退回(感谢 xanatos发表评论)。如果您需要所有具有最大数量的元素,请改用Albin解决方案。 - 由于排序此if O(n log n)解决方案。如果您需要的更好-通过线性搜索找到最大值,而不是先排序即可得到O(n)。请参见LINQ:如何对集合中所有对象的属性执行.Max()并返回具有最大值的对象



