首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将LINQ的OrderBy方向指定为布尔值?

在C#中,LINQ的OrderBy方法可以通过使用自定义比较器来指定排序方向。以下是一个示例,演示了如何将OrderBy方法的排序方向指定为布尔值:

代码语言:csharp
复制
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        var numbers = new[] { 1, 2, 3, 4, 5 };

        var sortedNumbers = numbers.OrderBy(n => n, new CustomComparer(true));

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

class CustomComparer : IComparer<int>
{
    private readonly bool _isAscending;

    public CustomComparer(bool isAscending)
    {
        _isAscending = isAscending;
    }

    public int Compare(int x, int y)
    {
        if (_isAscending)
        {
            return x.CompareTo(y);
        }
        else
        {
            return y.CompareTo(x);
        }
    }
}

在这个示例中,我们创建了一个名为CustomComparer的自定义比较器,它实现了IComparer<int>接口。我们可以通过传递一个布尔值来指定排序方向。如果布尔值为true,则按升序排序;如果为false,则按降序排序。

在Main方法中,我们创建了一个整数数组,并使用OrderBy方法对其进行排序。我们将自定义比较器的实例传递给OrderBy方法,以指定排序方向。最后,我们使用foreach循环遍历排序后的数组,并将每个元素打印到控制台。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券