使用 LINQ 根据薪资对员工列表进行排序的 C# 程序

csharplinqserver side programmingprogramming更新于 2025/9/16 9:54:00

在许多软件开发项目中,有时需要根据对象的一个​​或多个属性对对象列表进行排序。在 C# 中,LINQ(语言集成查询)库提供了一种功能强大且易于使用的方法,可根据一个或多个条件对对象列表进行排序。在本教程中,我们将演示如何使用 LINQ 根据员工工资对员工对象列表进行排序。

步骤

  • 创建一个员工类,其中包含姓名、工资和部门属性。

  • 创建一个员工对象列表并用一些数据填充它。

  • 使用 LINQ 根据员工工资对员工对象列表进行排序。

  • 显示已排序的员工对象列表。

示例

以下是使用 LINQ 根据员工工资对员工列表进行排序的示例程序的 C# 代码 -

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}");
      }
   }
}

输出

Alice: 70000
Mary: 60000
John: 50000
Bob: 40000

解释

在此程序中,我们首先创建一个 Employee 类,该类具有 Name、Salary 和 Department 属性。然后,我们创建一个 Employee 对象列表,并用一些示例数据填充它。

要按薪水对员工列表进行排序,我们使用 LINQ 的 OrderByDescending 方法。此方法采用 lambda 表达式,该表达式指定要排序的属性(在本例中为 Salary 属性)以及是按升序还是降序排序(在本例中为降序)。

最后,我们循环遍历已排序的员工列表,并使用 Console.WriteLine() 显示他们的姓名和薪水。

结论

在本教程中,我们展示了如何使用 LINQ 根据员工的薪水对员工对象列表进行排序。对对象列表进行排序是软件开发中的常见任务,LINQ 提供了一种简单而优雅的方法来实现此目的。通过使用 LINQ,您可以轻松地根据多个属性和条件对列表进行排序,使其成为强大的数据操作工具。


相关文章