C# 排序列表<;日期时间>;下降的
在c#(3.0或3.5,因此我们可以使用lambdas)中,是否有一种优雅的方法可以按降序排列日期列表?我知道我可以直接排序,然后把整个过程颠倒过来C# 排序列表<;日期时间>;下降的,c#,sorting,lambda,C#,Sorting,Lambda,在c#(3.0或3.5,因此我们可以使用lambdas)中,是否有一种优雅的方法可以按降序排列日期列表?我知道我可以直接排序,然后把整个过程颠倒过来 docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate)); docs.Reverse(); 但是有一个lambda表达式来完成这一步吗 在上面的示例中,StoredDate是一个类型为DateTime的属性 docs.Sort((x, y) => y.StoredDate.Co
docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate));
docs.Reverse();
但是有一个lambda表达式来完成这一步吗
在上面的示例中,StoredDate是一个类型为DateTime的属性
docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));
应该做你想做的事
docs.Sort((x, y) => -x.StoredDate.CompareTo(y.StoredDate));
请注意减号。尽管它未经测试
docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));
应该与您最初拥有的相反。有什么问题:
docs.OrderByDescending(d => d.StoredDate);
请注意,这将创建一个新的有序列表,而不是就地修改列表。诚然,性能损失可以忽略不计。除了Cavyn所说的,这将始终返回需要使用.ToList()转换回泛型列表的IORDerenumerable列表。