溫馨提示×

C# OrderByDescending是否支持自定義比較器

c#
小樊
117
2024-07-06 01:34:20
欄目: 編程語言

是的,C#的OrderByDescending方法是支持自定義比較器的。您可以使用重載的OrderByDescending方法,并提供一個實現了IComparer接口的自定義比較器作為參數。下面是一個示例:

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

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

        // 使用自定義比較器進行降序排序
        numbers = numbers.OrderByDescending(x => x, new CustomComparer()).ToList();

        foreach (var number in numbers)
        {
            Console.WriteLine(number);
        }
    }

    public class CustomComparer : IComparer<int>
    {
        public int Compare(int x, int y)
        {
            // 自定義比較邏輯,這里示例為按絕對值降序排序
            return Math.Abs(y).CompareTo(Math.Abs(x));
        }
    }
}

在上面的示例中,我們使用CustomComparer類來實現自定義的比較邏輯,然后將其傳遞給OrderByDescending方法作為參數,來實現按絕對值的降序排序。您也可以根據您的需求實現不同的自定義比較器來實現不同的排序邏輯。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女