使用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中,我們遍歷排序後的員工列表,並使用字串插值打印出每個員工的姓名和薪水。

示例

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 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告