📌  相关文章
📜  C# 程序使用 LINQ 根据薪水对员工列表进行排序(1)

📅  最后修改于: 2023-12-03 15:29:47.930000             🧑  作者: Mango

C# 程序使用 LINQ 根据薪水对员工列表进行排序

介绍

LINQ(Language Integrated Query)是C#内置的一种查询语言,能够对各种数据源进行查询和筛选,包括对象、数组、集合、XML和数据库等。在C#中,可以通过LINQ对员工列表进行排序。

代码实现

假设我们有一个员工类Employee,包括姓名和薪水两个属性,我们想要按照薪水对员工列表进行排序。首先,我们可以创建一个Employee类:

class Employee
{
    public string Name { get; set; }
    public int Salary { get; set; }
}

接着,我们随便创建一个员工列表,包括几个员工的姓名和薪水:

List<Employee> employees = new List<Employee>
{
    new Employee { Name = "Tom", Salary = 50000 },
    new Employee { Name = "Jerry", Salary = 60000 },
    new Employee { Name = "Alice", Salary = 40000 },
    new Employee { Name = "Bob", Salary = 45000 },
};

然后,我们可以使用LINQ的OrderBy方法对员工列表按薪水进行排序:

var sortedEmployees = employees.OrderBy(e => e.Salary);

这里的OrderBy方法参数传入了一个Lambda表达式,它表示按照Employee对象的Salary属性进行升序排序。如果我们想要降序排序,可以将OrderBy方法改为OrderByDescending方法。

最后,我们可以遍历排序后的员工列表,打印出每个员工的姓名和薪水:

foreach (var employee in sortedEmployees)
{
    Console.WriteLine("{0}: {1}", employee.Name, employee.Salary);
}
结果显示

运行上述代码,输出结果如下:

Alice: 40000
Bob: 45000
Tom: 50000
Jerry: 60000

由此可见,员工列表已经按照薪水进行了排序。

总结

通过上述代码示例,我们可以看到LINQ的OrderBy方法非常方便实用,能够轻松对各种数据源进行排序和筛选。在实际的开发工作中,我们可以结合LINQ和Lambda表达式,快速高效地进行数据查询和处理。