使用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; } }
建立一個員工列表
Listemployees = 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根據薪水降序和部門對員工列表進行排序。
廣告