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 降序的主要内容,如果未能解决你的问题,请参考以下文章