中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

c#集合如何實現自定義排序

c#
小樊
81
2024-11-20 13:39:38
欄目: 編程語言

在C#中,你可以使用List<T>類來創建一個集合,然后使用OrderBy()OrderByDescending()方法來實現自定義排序。這兩個方法都接受一個Func<T, TResult>類型的參數,這個參數是一個Lambda表達式,用于定義排序的依據。

下面是一個簡單的示例,展示了如何使用OrderBy()方法對一個整數列表進行升序排序:

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

class Program
{
    static void Main()
    {
        List<int> numbers = new List<int> { 5, 3, 8, 1, 6 };

        // 使用 OrderBy() 方法進行升序排序
        List<int> sortedNumbers = numbers.OrderBy(x => x).ToList();

        Console.WriteLine("Sorted numbers:");
        foreach (int number in sortedNumbers)
        {
            Console.Write(number + " ");
        }
    }
}

如果你想實現降序排序,可以使用OrderByDescending()方法:

// 使用 OrderByDescending() 方法進行降序排序
List<int> sortedNumbersDescending = numbers.OrderByDescending(x => x).ToList();

Console.WriteLine("\nSorted numbers in descending order:");
foreach (int number in sortedNumbersDescending)
{
    Console.Write(number + " ");
}

你還可以使用ThenBy()方法對排序結果進行進一步的自定義排序。例如,如果你想先按奇數升序排序,然后按偶數降序排序,可以這樣做:

List<int> sortedNumbersByOddFirst = numbers
    .OrderBy(x => x % 2 == 0) // 先按奇數升序排序
    .ThenBy(x => x) // 再按偶數降序排序
    .ToList();

Console.WriteLine("\nSorted numbers by odd first:");
foreach (int number in sortedNumbersByOddFirst)
{
    Console.Write(number + " ");
}

這個示例中,OrderBy(x => x % 2 == 0)會根據數字是奇數還是偶數進行排序,然后ThenBy(x => x)會對相同奇偶性的數字進行升序排序。

0
麦盖提县| 富裕县| 金山区| 盈江县| 榆社县| 桐庐县| 武清区| 施秉县| 谷城县| 福建省| 额敏县| 苍山县| 卓尼县| 扬州市| 河源市| 屏东县| 博兴县| 商水县| 黔西县| 康定县| 绥化市| 化德县| 嘉定区| 河津市| 克拉玛依市| 迁西县| 哈巴河县| 博乐市| 广南县| 林芝县| 长武县| 江永县| 嘉兴市| 托克托县| 高邑县| 周至县| 栖霞市| 文安县| 济源市| 伊宁市| 河南省|