我有一个想要排序的项目列表,但我似乎无法正确获取 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 的 OrderBy
和 ThenByDescending
扩展方法:
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/