为此对lambda表达式进行排序

本文关键字:排序 表达式 lambda | 更新日期: 2023-09-27 18:22:30

我有一个项目列表,我想对其进行排序,但似乎无法正确使用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) => ...);

为此对lambda表达式进行排序

您可以使用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();