使用 LINQ 對員工列表進行排序的 C# 程式


在許多軟體開發專案中,都會出現需要根據物件的一個或多個屬性對物件列表進行排序的情況。在 C# 中,LINQ(語言整合查詢)庫提供了一種強大且易於使用的方法來根據一個或多個條件對物件列表進行排序。在本教程中,我們將演示如何使用 LINQ 根據員工的薪資對員工物件列表進行排序。

步驟

  • 建立一個 Employee 類,其中包含 Name、Salary 和 Department 屬性。

  • 建立一個 Employee 物件列表,並用一些資料填充它。

  • 使用 LINQ 根據員工的薪資對 Employee 物件列表進行排序。

  • 顯示排序後的 Employee 物件列表。

示例

以下是使用 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 根據薪資對 Employee 物件列表進行排序。對物件列表進行排序是軟體開發中的一項常見任務,LINQ 提供了一種簡單而優雅的方法來完成此任務。透過使用 LINQ,您可以輕鬆地根據多個屬性和條件對列表進行排序,使其成為強大的資料操作工具。

更新時間: 2023年5月4日

974 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.