Monday 25 December 2017

get 2nd highest salary from list in C#

 private static void GetSalary()
        {
            var empList = new List<Employee>
            {
                new Employee {Id=1, Name="A", Salary=100},
                new Employee {Id=1, Name="B", Salary=200},
                new Employee {Id=1, Name="C", Salary=300},
                new Employee {Id=1, Name="D", Salary=100},
                new Employee {Id=1, Name="E", Salary=100},
                new Employee {Id=1, Name="D", Salary=400},
                new Employee {Id=1, Name="E", Salary=400},
                new Employee {Id=1, Name="D", Salary=200},
                new Employee {Id=1, Name="E", Salary=500},
            };
            var r1 = empList
                         .OrderByDescending(e => e.Salary)
                          .Skip(1)
                          .First();

            var r2 = empList
                            .GroupBy(e => e.Salary)
                            .OrderByDescending(g => g.Key)
                            .Skip(1)
                            .First();
        }

No comments:

Post a Comment