c# - 为此排序 lambda 表达式

标签 c# .net linq lambda

我有一个想要排序的项目列表,但我似乎无法正确获取 lambda 表达式。有人可以引导我找到 lambda 表达式吗? 谢谢

未排序的列表项:

number: 2, Date: 21/10/2010 11:22:55
number: 1, Date: 21/10/2010 11:22:55
number: 2, Date: 20/10/2010 12:10:00
number: 1, Date: 20/10/2010 12:10:00

排序列表项:

number: 1, Date: 21/10/2010 11:22:55
number: 1, Date: 20/10/2010 12:10:00
number: 2, Date: 21/10/2010 11:22:55
number: 2, Date: 20/10/2010 12:10:00

itemList.sort((x, y) => ...);

最佳答案

您可以使用 Linq 的 OrderByThenByDescending扩展方法:

using System.Linq;
...

var sortedItems = 
    itemList.OrderBy(x => x.number)
            .ThenByDescending(x => x.Date);

这将创建一个新对象。如果您想将其分配回原始 itemList,只需执行以下操作:

using System.Linq;
...

itemList = itemList.OrderBy(x => x.number)
                   .ThenByDescending(x => x.Date)
                   .ToList();

关于c# - 为此排序 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17647358/

相关文章:

c# - 如何将 Rijndael 加密与 .Net Core 类库一起使用? (不是 .Net 框架)

sql - Linq 版 SQL "IN"语句

c# - C# .NET 中部分文档的 Xml 签名验证失败

c# - AddMicrosoftIdentityWebApp 与 AddAzureADBearer

.net - 从 FlowLayoutPanel 清除控件不调用析构函数?

LINQ:字段不是引用字段

c# - 异步 lambda 的执行有什么区别吗?

c# - Autofac 注入(inject)通用接口(interface)的 IEnumerable

c# - Visual Studio 2008 设计 View 不工作?

c# - Ref 参数返回未知大小的数组。如何处理?