使用linq c#在值列表中查找第二个Max

Vah*_*hid 7 c# linq

如何使用Linq和找到值列表中的第二个最大数字C#

例如,我有这个列表:

List<double> ListOfNums = new List<double> {1, 5, 7, -1, 4, 8};
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以获得列表中第二个最大值7?

Hab*_*bib 17

var secondMax = ListOfNums.OrderByDescending(r => r).Skip(1).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

要么

var secondMax = ListOfNums.OrderByDescending(r=> r).Take(2).LastOrDefault();
Run Code Online (Sandbox Code Playgroud)

  • @NewHire,不,它会返回默认值`0.0`. (2认同)
  • @Vahid,而不是谢谢,你应该将这个答案标记为已被接受,因为它有用. (2认同)