C# 程序使用 LINQ 根据工资和部门 ABC 对员工列表进行排序
csharplinqserver side programmingprogramming
在 C# 中,LINQ(语言集成查询)是一个功能强大的工具,可让您轻松地对数据进行排序、过滤和操作。在本文中,我们将演示如何使用 LINQ 根据员工的工资和部门对员工列表进行排序。
使用 LINQ 根据工资和部门对员工列表进行排序
要使用 LINQ 根据工资和部门对员工列表进行排序,您可以按照以下步骤进行操作 -
1. 创建一个类来表示员工
public class Employee { public string Name { get; set; } public int Salary { get; set; } public string Department { get; set; } }
2. 创建员工列表
List<employee> employees = new List{ new Employee { Name = "John", Salary = 50000, Department = "ABC" }, new Employee { Name = "Mary", Salary = 60000, Department = "DEF" }, new Employee { Name = "Bob", Salary = 40000, Department = "ABC" }, new Employee { Name = "Alice", Salary = 70000, Department = "XYZ" } };
3.使用 LINQ 按薪水和部门对员工列表进行排序
var sortedEmployees = employees .Where(e => e.Department == "ABC") .OrderByDescending(e => e.Salary) .ThenBy(e => e.Name);
4. 遍历排序后的列表并打印出每个员工的姓名和薪水
foreach (var employee in sortedEmployees) { Console.WriteLine($"{employee.Name}: {employee.Salary}"); }
解释
步骤 1 - 我们定义一个名为 Employee 的类来表示员工。该类有三个属性:姓名、薪水和部门。
步骤 2 - 我们创建一个员工列表,并使用一些示例数据对其进行初始化。
步骤 3 - 我们使用 LINQ 根据员工的薪水和部门对员工列表进行排序。我们首先过滤列表以仅包含部门为"ABC"的员工。然后我们根据员工的薪水按降序对过滤后的列表进行排序,然后根据员工的姓名按升序对列表进行排序。结果是符合过滤条件的员工的排序列表。
步骤 4 - 我们遍历排序后的员工列表,并使用字符串插值打印出每个员工的姓名和薪水。
示例
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 = "ABC" }, new Employee { Name = "Alice", Salary = 70000, Department = "XYZ" } }; var sortedEmployees = employees .Where(e => e.Department == "ABC") .OrderByDescending(e => e.Salary) .ThenBy(e => e.Name); foreach (var employee in sortedEmployees) { Console.WriteLine($"{employee.Name}: {employee.Salary}"); } } }
输出
John: 50000 Bob: 40000
结论
使用 LINQ 根据员工工资和部门对员工列表进行排序是一种简单而有效的 C# 数据处理方法。通过使用 LINQ,您只需几行代码即可轻松过滤、排序和处理大量数据。我们希望本文能帮助您了解如何使用 LINQ 根据员工工资和部门对员工列表进行排序。