首頁 >後端開發 >C#.Net教程 >C# 程式使用 LINQ 根據薪資降序對員工清單進行排序,其部門是 XYZ

C# 程式使用 LINQ 根據薪資降序對員工清單進行排序,其部門是 XYZ

王林
王林轉載
2023-09-22 16:45:081149瀏覽

C# 程序使用 LINQ 根据工资降序对员工列表进行排序,其部门是 XYZ

在 C# 中,LINQ(語言整合查詢)是一個強大的工具,可讓您輕鬆排序、篩選和操作資料。在本文中,我們將示範如何使用 LINQ 根據員工的薪水和工作部門對員工清單進行降序排序。

使用 LINQ 根據薪資降序對員工清單進行排序,其部門是 XYZ -

要使用 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 的類別來表示員工。這個類別有三個屬性:Name、Salary 和 Department。

在步驟 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 根據薪資和部門對員工名單進行降序排序。

以上是C# 程式使用 LINQ 根據薪資降序對員工清單進行排序,其部門是 XYZ的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除