當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


C# Linq ThenBy()用法及代碼示例

這裏我們將使用 List 的 Linq OrderBy() 和 ThenBy() 方法。這裏 OrderBy() 方法用於在第一級對員工詳細信息進行排序,然後 ThenBy() 方法用於在第二級對員工信息進行排序。

程序:

下麵給出了演示 Linq ThenBy() 方法的源代碼。給定的程序在 Microsoft Visual Studio 上編譯並成功執行。

//C# program to demonstrate the Linq ThenBy() method.

using System;
using System.Linq;
using System.Collections.Generic;

public class Employee
{
    int ID;
    string Name;
    int Salary;
    string Department;

    public override string ToString()
    {
        return ID + " " + Name + " " + Salary + " " + Department;
    }

    static void Main(string[] args)
    {
        List<Employee> employees = new List<Employee>()
        {
             new Employee {ID=101,   Name="Amit  "    , Salary=4000,Department="ABC"},
             new Employee {ID=102,   Name="Amit  "    , Salary=3000,Department="XYZ"},
             new Employee {ID=103,   Name="Salman"    , Salary=3000,Department="ABC"},
             new Employee {ID=104,   Name="Ram   "    , Salary=2000,Department="XYZ"},
             new Employee {ID=105,   Name="Shyam "    , Salary=7000,Department="ABC"},
             new Employee {ID=106,   Name="Kishor"    , Salary=5000,Department="XYZ"},
        };


        var result = employees.OrderBy(name => name.Name).ThenBy(sal=>sal.Salary);


        Console.WriteLine("ID  Name  Salary  Department");
        Console.WriteLine("============================");
        foreach (Employee emp in result)
        {
            Console.WriteLine(emp.ToString());
        }
        Console.WriteLine("============================");
    }
}

輸出:

ID  Name  Salary  Department
============================
102 Amit   3000 XYZ
101 Amit   4000 ABC
106 Kishor 5000 XYZ
104 Ram    2000 XYZ
103 Salman 3000 ABC
105 Shyam  7000 ABC
============================
Press any key to continue . . .

說明:

在上麵的程序中,我們創建了一個Employee類,其中包含數據成員ID、Name、Salary和Department,Employee類還包含靜態方法Main()。 Main() 方法是程序的入口點。

在 Main() 方法中,我們使用 List 集合創建了員工列表。然後我們使用 OrderBy() 和 ThenBy() 方法對員工列表進行排序。 OrderBy() 方法用於第一級排序,ThenBy() 用於不同字段的下一級排序。

注意:OrderBy() 和 ThenBy() 方法用於按升序排序。




相關用法


注:本文由純淨天空篩選整理自 C# program to demonstrate the example of Linq ThenBy() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。