使用LINQ對員工列表進行排序,基於薪資和部門為ABC的員工


在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根據薪資和部門對員工列表進行排序。

更新於:2023年5月4日

687 次瀏覽

開啟你的職業生涯

完成課程獲得認證

立即開始
廣告