TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
C# Corner
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Nth Maximum Salary of employee List in LINQ
Pradeep Sahoo
May 15
2016
Code
19
k
0
1
facebook
twitter
linkedIn
Reddit
WhatsApp
Email
Bookmark
expand
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
namespace
NthHighestSalaryINLinq
{
public
class
Employee
{
public
string
EmpName {
get
;
set
; }
public
int
Salary {
get
;
set
; }
public
int
EmpId {
get
;
set
; }
public
List<Employee> GetEmpRecord()
{
List<Employee> emplist =
new
List<Employee>();
emplist.Add(
new
Employee { EmpId = 1, EmpName =
" Gopal"
, Salary = 10000 });
emplist.Add(
new
Employee { EmpId = 2, EmpName =
"Naresh"
, Salary = 3456 });
emplist.Add(
new
Employee { EmpId = 3, EmpName =
"Hari"
, Salary = 14256 });
emplist.Add(
new
Employee { EmpId = 4, EmpName =
"Pradeep"
, Salary = 14256 });
emplist.Add(
new
Employee { EmpId = 5, EmpName =
"Madhu"
, Salary = 14256 });
emplist.Add(
new
Employee { EmpId = 6, EmpName =
"Sures"
, Salary = 15000 });
emplist.Add(
new
Employee { EmpId = 7, EmpName =
"Kumar M"
, Salary = 10000 });
emplist.Add(
new
Employee { EmpId = 8, EmpName =
"kali"
, Salary = 6000 });
emplist.Add(
new
Employee { EmpId = 9, EmpName =
"Manas"
, Salary = 2000 });
emplist.Add(
new
Employee { EmpId = 10, EmpName =
"Mithun"
, Salary = 5000 });
emplist.Add(
new
Employee { EmpId = 11, EmpName =
"Aryan"
, Salary = 7000 });
emplist.Add(
new
Employee { EmpId = 12, EmpName =
"Akilesh"
, Salary = 7000 });
return
emplist;
}
}
class
Program
{
static
void
Main(
string
[] args)
{
Employee e=
new
Employee();
var emplist = e.GetEmpRecord();
int
whichEmpSalary = 3;
// 3rd Maximum salary from the employee List
var employees = (from emp
in
emplist
group emp by emp.Salary into g
orderby g.Key descending
select
new
{
EmpRecord = g.ToList()
}).ToList();
employees[whichEmpSalary - 1].EmpRecord
.ForEach(i => Console.WriteLine(
" EmpId {0} Emp Name {1} earns {2}"
,i.EmpId, i.EmpName, i.Salary));
Console.ReadKey();
}
}
}
Nth Maximum Salary of employee List
LINQ
C#