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