Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 排序列表<;日期时间>;下降的_C#_Sorting_Lambda - Fatal编程技术网

C# 排序列表<;日期时间>;下降的

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

在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.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列表。