使用 Linq 查找第三个最高工资

say*_*tri 2 c# linq

我正在学习 LINQ,我想使用 LINQ 找到第三个最高薪水。我知道如何查询集合,但我不知道如何解决这个问题

void Main()
{
    List<Employee> employees = new List<Employee>();
    employees.Add(new Employee { Id = 1, Name = "John Doe", Salary = 1500 });
    employees.Add(new Employee { Id = 1, Name = "John Wow", Salary = 10000 });
    employees.Add(new Employee { Id = 1, Name = "Bill", Salary = 1000 });
    employees.Add(new Employee { Id = 1, Name = "Jane Doe", Salary = 2000 });

    var secondHighestSalary=from e in employees
                select e ----

}

public class Employee
{
    public int Id { get; set; }
    public string Name { get; set; }
    public double Salary { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

san*_*ngh 6

您可以尝试以下代码片段

List<Employee> employees = new List<Employee>();
    employees.Add(new Employee { Id = 1, Name = "John Doe", Salary = 1500 });
    employees.Add(new Employee { Id = 1, Name = "John Wow", Salary = 1800 });
    employees.Add(new Employee { Id = 1, Name = "Bill", Salary = 1000 });
    employees.Add(new Employee { Id = 1, Name = "Jane Doe", Salary = 2000 });

    var secondHighestSalary=employees.OrderByDescending(e => e.Salary)
            .Skip(2)
            .Take(1);
secondHighestSalary.Dump();
Run Code Online (Sandbox Code Playgroud)