C# list.Orderby 降序

Posted

技术标签:

【中文标题】C# list.Orderby 降序【英文标题】:C# list.Orderby descending 【发布时间】:2011-04-24 22:13:44 【问题描述】:

我希望收到一份按“Product.Name”降序排序的列表

类似于下面的函数以升序对列表进行排序,只是相反,这可能吗?

var newList = list.OrderBy(x => x.Product.Name).ToList();

【问题讨论】:

问题可能是你写的是toList而不是ToList 我认为他的意思是它不接受descending关键字,因为他没有以from x in list...开始他的表达 抱歉,我没有完全复制该代码,而是从内存中输入的。我的实际代码有效,但只返回一个按升序排序的列表。 【参考方案1】:

看看我项目中的这段代码

我正在尝试根据模型中的属性重新排序列表,

 allEmployees = new List<Employee>(allEmployees.OrderByDescending(employee => employee.Name));

但是我在small and capital letters exist时遇到了问题,所以为了解决它,我使用了字符串比较器。

allEmployees.OrderBy(employee => employee.Name,StringComparer.CurrentCultureIgnoreCase)

【讨论】:

【参考方案2】:
var newList = list.OrderBy(x => x.Product.Name).Reverse()

这应该可以完成工作。

【讨论】:

【参考方案3】:

当然:

var newList = list.OrderByDescending(x => x.Product.Name).ToList();

文档:OrderByDescending(IEnumerable, Func).

回应您的评论:

var newList = list.OrderByDescending(x => x.Product.Name)
                  .ThenBy(x => x.Product.Price)
                  .ToList();

【讨论】:

所以您的编辑将按名称(从 z->a)然后价格(低 -> 高)排序? 是的,没错。对 OrderBy 或 ThenBy 的调用总是递增的。 OrderByDescending 和 ThenByDescending 方法是您用于降序的方法。【参考方案4】:
list = new List<ProcedureTime>(); sortedList = list.OrderByDescending(ProcedureTime=> ProcedureTime.EndTime).ToList();

这对我来说可以按降序显示时间。

【讨论】:

【参考方案5】:
list.OrderByDescending();

为我工作。

【讨论】:

这没有做 list = list.OrderByDescending().toList();【参考方案6】:

是的。使用OrderByDescending 而不是OrderBy

【讨论】:

以上是关于C# list.Orderby 降序的主要内容,如果未能解决你的问题,请参考以下文章

Linq语句OrderBy的使用

在c#中List<>的orderby方法如何使用?如何对一个类别的数据按照其某个属性降序排列?

自定义list排序

变量值随着C#中数组的变化而变化

在c#中,如何实现对一个列表数据List,进行降序排序

LINQ Orderby 降序查询