- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C# Program to Sort a List of Employees Based on Salary using LINQ
In many software development projects, there comes a point where it becomes necessary to sort a list of objects based on one or more properties of the objects. In C#, the LINQ (Language Integrated Query) library provides a powerful and easy-to-use way to sort lists of objects based on one or more criteria. In this tutorial, we will demonstrate how to sort a list of Employee objects based on their salary using LINQ.
Steps
Create an Employee class with properties for Name, Salary, and Department.
Create a List of Employee objects and populate it with some data.
Use LINQ to sort the list of Employee objects based on their salary.
Display the sorted list of Employee objects.
Example
Here's the C# code for the example program that uses LINQ to sort a list of employees based on their salary −
using System; using System.Collections.Generic; using System.Linq; public class Employee { public string Name { get; set; } public int Salary { get; set; } public string Department { get; set; } } class Program { static void Main(string[] args) { List<Employee> employees = new List<Employee> { new Employee { Name = "John", Salary = 50000, Department = "ABC" }, new Employee { Name = "Mary", Salary = 60000, Department = "DEF" }, new Employee { Name = "Bob", Salary = 40000, Department = "XYZ" }, new Employee { Name = "Alice", Salary = 70000, Department = "XYZ" } }; var sortedEmployees = employees .OrderByDescending(e => e.Salary); foreach (var employee in sortedEmployees) { Console.WriteLine($"{employee.Name}: {employee.Salary}"); } } }
Output
Alice: 70000 Mary: 60000 John: 50000 Bob: 40000
Explanation
In this program, we first create an Employee class with properties for Name, Salary, and Department. We then create a List of Employee objects and populate it with some sample data.
To sort the list of employees by salary, we use LINQ's OrderByDescending method. This method takes a lambda expression that specifies the property to sort by (in this case, the Salary property) and whether to sort in ascending or descending order (in this case, descending).
Finally, we loop through the sorted list of employees and display their names and salaries using Console.WriteLine().
Conclusion
In this tutorial, we've shown how to sort a list of Employee objects based on their salary using LINQ. Sorting a list of objects is a common task in software development, and LINQ provides a simple and elegant way to accomplish this. By using LINQ, you can easily sort lists based on multiple properties and criteria, making it a powerful tool for data manipulation.