2

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

1 回答 1

4

您可以使用 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();
于 2013-07-15T05:31:54.073 回答