C# Program to Sort a List of Employees Based on Salary and Whose Department is ABC using LINQ - GeeksforGeeks

06 Dec, 2021
Given a list of employees, now our task is to sort the given list of employees based on salary and whose department is ABC using LINQ. 
Example:
Input: 
{id = 101, name = "Sumit", salary = 10000, department = ABC} 
{id = 102, name = "Rohit", salary = 20000, department = HR} 
{id = 103, name = "Mohit", salary = 30000, department = ABC} 
{id = 104, name = "Sunil", salary = 40000, department = ABC} 
Output:
{id = 101, name = "Sumit", salary = 10000, department = ABC} 
{id = 103, name = "Mohit", salary = 30000, department = ABC} 
{id = 104, name = "Sunil", salary = 40000, department = ABC} 
Approach:
1. Create a list of employees which contains the id, name, salary, and department
2. Using the OrderBy() method and Where() method to sort the list of employees based on salary and whose department is ABC
var result_set = Geeks.Where(emp => emp.Emp_Department == "ABC").OrderBy( 
                            sal  =>  sal.Emp_Salary);
3. Display the sorted list
Example:
C#
// C# program to display a sorted list of employees based // on Salary and whose Department is ABC using System;using System.Linq;using System.Collections.Generic;  public class Geek{      int emp_id;string Emp_Name;int Emp_Salary;string Emp_Department;  // Driver codestatic void Main(string[] args){          // Geeks data    List<Geek> Geeks = new List<Geek>()    {        new Geek{emp_id = 101, Emp_Name = "arjun",                  Emp_Salary = 50000, Emp_Department = "ABC"},        new Geek{emp_id = 102, Emp_Name = "bheem",                  Emp_Salary = 65000, Emp_Department = "DEF"},        new Geek{emp_id = 103, Emp_Name = "krishna",                  Emp_Salary = 45000, Emp_Department = "ABC"},        new Geek{emp_id = 104, Emp_Name = "Ram",                  Emp_Salary = 20000, Emp_Department = "DEF"},        new Geek{emp_id = 105, Emp_Name = "kiran",                  Emp_Salary = 70000, Emp_Department = "DEF"},        new Geek{emp_id = 106, Emp_Name = "karna",                  Emp_Salary = 50000, Emp_Department = "ABC"},    };      // Using the where command we have selected the geeks    // having ABC department and then we have sorted the    // data using OrderBy() command    var result_set = Geeks.Where(emp => emp.Emp_Department == "ABC").OrderBy(                                 sal => sal.Emp_Salary);      foreach (Geek emp in result_set)    {        Console.WriteLine(emp.emp_id + " " +                           emp.Emp_Name +" " +                           emp.Emp_Salary + " " +                           emp.Emp_Department);    }}}
103 krishna 45000 ABC
101 arjun   50000 ABC
106 karna 50000 ABC
CSharp LINQ
Picked
C#
C# Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Extension Method in C#
Top 50 C# Interview Questions & Answers
Partial Classes in C#
HashSet in C# with Examples
C# | Inheritance
Convert String to Character Array in C#
Socket Programming in C#
Getting a Month Name Using Month Number in C#
Program to Print a New Line in C#
Program to find absolute value of a given number