溫馨提示×

OrderByDescending在C#中如何處理復雜排序

c#
小樊
100
2024-07-06 01:27:28
欄目: 編程語言

在C#中,可以使用OrderByDescending方法對集合進行復雜排序。可以通過在OrderByDescending方法中傳遞一個lambda表達式來指定復雜排序的規(guī)則。下面是一個示例,演示如何對一個包含自定義對象的集合進行復雜排序:

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

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "Alice", Age = 25 },
            new Person { Name = "Bob", Age = 30 },
            new Person { Name = "Charlie", Age = 20 },
            new Person { Name = "David", Age = 35 }
        };

        var sortedPeople = people.OrderByDescending(p => p.Age).ThenBy(p => p.Name);

        foreach (var person in sortedPeople)
        {
            Console.WriteLine($"{person.Name} - {person.Age}");
        }
    }
}

在上面的示例中,我們首先創(chuàng)建了一個Person類來表示一個人的信息。然后創(chuàng)建了一個包含幾個Person對象的列表。我們使用OrderByDescending方法按照年齡降序對列表進行排序,然后使用ThenBy方法按照姓名進行升序排序。最后,我們遍歷排序后的結果并將結果打印出來。

通過這種方式,我們可以處理復雜的排序需求,并通過lambda表達式指定排序規(guī)則。

0