51

c#(3.0または3.5なのでラムダを使用できます)で、日付のリストを降順でソートするエレガントな方法はありますか? 単純な並べ替えを行ってから、すべてを逆にすることができることを知っています。

docs.Sort((x, y) => x.StoredDate.CompareTo(y.StoredDate));
docs.Reverse();

しかし、それを1ステップ実行するラムダ式はありますか?

上記の例では、StoredDate は DateTime 型のプロパティです。

4

4 に答える 4

86

未検証なのに…

docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));

本来持っていたものとは逆になるはずです。

于 2008-10-28T18:04:16.220 に答える
64

どうしたの:

docs.OrderByDescending(d => d.StoredDate);
于 2011-11-03T22:13:39.433 に答える
21
docs.Sort((x, y) => y.StoredDate.CompareTo(x.StoredDate));

あなたが探していることをすべきです。

于 2008-10-28T18:03:08.517 に答える
7
docs.Sort((x, y) => -x.StoredDate.CompareTo(y.StoredDate));

マイナス記号に注意してください。

于 2008-10-28T18:04:15.660 に答える