使用LINQ根据薪水降序排列部门为XYZ的员工列表的C#程序


在C#中,LINQ(语言集成查询)是一个强大的工具,使您可以轻松地排序、筛选和操作数据。在本文中,我们将演示如何使用LINQ根据员工的薪水降序和部门对员工列表进行排序。

使用LINQ根据薪水降序和部门对员工列表进行排序

要使用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的类来表示一个员工。该类具有三个属性:姓名、薪水和部门。

在步骤2中,我们创建了一个员工列表,并用一些示例数据对其进行了初始化。

在步骤3中,我们使用LINQ根据员工的薪水降序和部门对员工列表进行排序。我们首先过滤列表,只包含部门为“XYZ”的员工。然后,我们根据员工的薪水降序排列,再按姓名升序排列过滤后的列表。结果是一个满足筛选条件的已排序员工列表。

在步骤4中,我们遍历排序后的员工列表,并使用字符串插值打印出每个员工的姓名和薪水。

示例

Open Compiler
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根据薪水降序和部门对员工列表进行排序。

更新于:2023年5月4日

307 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告