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

📅  最后修改于: 2022-05-13 01:55:37.832000             🧑  作者: Mango

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

给定一个员工列表,现在我们使用 LINQ 根据员工的薪水对员工列表进行排序。所以对于这个任务,我们使用 OrderBy() 方法。该方法用于对指定序列的元素进行升序排序。

例子:

Input: 
{id = 101, Name = Rohit, Salary = 50000, Department = HR}
{id = 104, Name = Rohit, Salary = 10000, Department = Development}
{id = 106, Name = Rohit, Salary = 80000, Department = HR}
{id = 108, Name = Rohit, Salary = 20000, Department = Development}
Output:
{id = 104, Name = Rohit, Salary = 10000, Department = Development}
{id = 108, Name = Rohit, Salary = 20000, Department = Development} 
{id = 101, Name = Rohit, Salary = 50000, Department = HR}
{id = 106, Name = Rohit, Salary = 80000, Department = HR}

方法:

1.创建员工列表以及他们的 ID、姓名、薪水和部门。

2.现在使用 OrderBy() 方法根据员工的薪水对员工列表进行排序。

var result_set = Geeks.OrderBy(sal => sal.Emp_Salary);

或者我们也可以使用 LINQ 的 order OrderBy 子句对列表进行排序

var result_set = from emp in Geeks orderby emp.Emp_Salary select emp;

3.使用 foreach 循环显示排序列表。

示例 1:

C#
// C# program to sort a list of employees
// based on salary. Using OrderBy() method
using System;
using System.Linq;
using System.Collections.Generic;
  
class Geek{
      
int emp_id;
string Emp_Name;
int Emp_Salary;
string Emp_Department;
  
static void Main(string[] args)
{
      
    // Geeks data
    List Geeks = new List()
    {
        new Geek{emp_id = 101, Emp_Name = "arjun", 
                 Emp_Salary = 50000, Emp_Department = "ABC"},
        new Geek{emp_id = 102, Emp_Name = "bheem", 
                 Emp_Salary = 65000, Emp_Department = "DEF"},
        new Geek{emp_id = 103, Emp_Name = "krishna", 
                 Emp_Salary = 45000, Emp_Department = "ABC"},
        new Geek{emp_id = 104, Emp_Name = "Ram", 
                 Emp_Salary = 20000, Emp_Department = "DEF"},
        new Geek{emp_id = 105, Emp_Name = "kiran", 
                 Emp_Salary = 70000, Emp_Department = "DEF"},
        new Geek{emp_id = 106, Emp_Name = "karna", 
                 Emp_Salary = 50000, Emp_Department = "ABC"},
    };
    
    // We have sorted the data using OrderBy() command
    var result_set = Geeks.OrderBy(sal => sal.Emp_Salary);
      
    // Display the sorted result
    foreach (Geek emp in result_set)
    {
        Console.WriteLine(emp.emp_id + " " + 
                          emp.Emp_Name + " " + 
                          emp.Emp_Salary + " " + 
                          emp.Emp_Department);
    }
}
}


C#
// C# program to sort a list of employees
// based on salary. Using OrderBy() method
using System;
using System.Linq;
using System.Collections.Generic;
  
class Geek{
      
int emp_id;
string Emp_Name;
int Emp_Salary;
string Emp_Department;
  
static void Main(string[] args)
{
      
    // Geeks data
    List Geeks = new List()
    {
        new Geek{emp_id = 201, Emp_Name = "Sumit", 
                 Emp_Salary = 50000, Emp_Department = "ABC"},
        new Geek{emp_id = 202, Emp_Name = "Rohan", 
                 Emp_Salary = 65000, Emp_Department = "DEF"},
        new Geek{emp_id = 203, Emp_Name = "Mohit", 
                 Emp_Salary = 45000, Emp_Department = "ABC"},
        new Geek{emp_id = 204, Emp_Name = "Sonam", 
                 Emp_Salary = 20000, Emp_Department = "DEF"},
        new Geek{emp_id = 205, Emp_Name = "Shive", 
                 Emp_Salary = 70000, Emp_Department = "DEF"},
    };
    
    // We have sorted the data using OrderBy linq clause
    var result_set = from emp in Geeks orderby emp.Emp_Salary select emp;
      
    // Display the sorted result
    foreach (Geek emp in result_set)
    {
        Console.WriteLine(emp.emp_id + " " + 
                          emp.Emp_Name + " " + 
                          emp.Emp_Salary + " " + 
                          emp.Emp_Department);
    }
}
}


输出
104 Ram    20000 DEF
103 krishna 45000 ABC
101 arjun   50000 ABC
106 karna 50000 ABC
102 bheem 65000 DEF
105 kiran  70000 DEF

示例 2:

C#

// C# program to sort a list of employees
// based on salary. Using OrderBy() method
using System;
using System.Linq;
using System.Collections.Generic;
  
class Geek{
      
int emp_id;
string Emp_Name;
int Emp_Salary;
string Emp_Department;
  
static void Main(string[] args)
{
      
    // Geeks data
    List Geeks = new List()
    {
        new Geek{emp_id = 201, Emp_Name = "Sumit", 
                 Emp_Salary = 50000, Emp_Department = "ABC"},
        new Geek{emp_id = 202, Emp_Name = "Rohan", 
                 Emp_Salary = 65000, Emp_Department = "DEF"},
        new Geek{emp_id = 203, Emp_Name = "Mohit", 
                 Emp_Salary = 45000, Emp_Department = "ABC"},
        new Geek{emp_id = 204, Emp_Name = "Sonam", 
                 Emp_Salary = 20000, Emp_Department = "DEF"},
        new Geek{emp_id = 205, Emp_Name = "Shive", 
                 Emp_Salary = 70000, Emp_Department = "DEF"},
    };
    
    // We have sorted the data using OrderBy linq clause
    var result_set = from emp in Geeks orderby emp.Emp_Salary select emp;
      
    // Display the sorted result
    foreach (Geek emp in result_set)
    {
        Console.WriteLine(emp.emp_id + " " + 
                          emp.Emp_Name + " " + 
                          emp.Emp_Salary + " " + 
                          emp.Emp_Department);
    }
}
}

输出

204 Sonam 20000 DEF
203 Mohit 45000 ABC
201 Sumit 50000 ABC
202 Rohan 65000 DEF
205 Shive 70000 DEF