LINQ返回最大重复项目,但反向排序

And*_*Xin 9 c# linq

我有一个包含如下名称的字符串数组:

[Alex, Alex, Michael, Michael, Dave, Victor]
Run Code Online (Sandbox Code Playgroud)

我转换为 List<string>

然后我需要编写一个函数来返回列表中的最大重复项,但是应该按降序排序,在这种情况下,迈克尔.

我已按照此链接中所述的LINQ代码进行操作.这是:

string maxRepeated = prod.GroupBy(s => s)
                     .OrderByDescending(s => s.Count())
                     .First().Key;
Run Code Online (Sandbox Code Playgroud)

但是,代码返回Alex而不是Michael.

我试图添加另一个,OrderByDescending但它返回Victor.

string maxRepeated = prod.GroupBy(s => s)
                     .OrderByDescending(s => s.Count())
                     .OrderByDescending(b => b)
                     .First().Key;
Run Code Online (Sandbox Code Playgroud)

我被卡住了,不知道需要添加什么才能达到预期的效果.

任何帮助表示赞赏.

Tim*_*ter 7

不是OrderByDescending忽略先前订单的第二个但是ThenByDescending:

string maxRepeated = prod.GroupBy(s => s)
                     .OrderByDescending(g => g.Count())
                     .ThenByDescending(g => g.Key)
                     .First().Key;
Run Code Online (Sandbox Code Playgroud)