C#list.Orderby降順


150

「Product.Name」で降順に並べ替えられたリストを受け取りたい。

リストを昇順で逆に並べ替える以下の関数と同様に、これは可能ですか?

var newList = list.OrderBy(x => x.Product.Name).ToList();

問題は、toList代わりにあなたが書いたことToListでしょうか?
Mark Byers、

1
私は彼descendingが彼の表現を次のように開始しなかったため、それがキーワードを受け入れないことを意味したと思いますfrom x in list...
StriplingWarrior

1
申し訳ありませんが、そのコードを正確にコピーしていませんが、メモリから入力しました。実際のコードは機能しますが、昇順でソートされたリストを返すだけです。
PFranchise

回答:


260

承知しました:

var newList = list.OrderByDescending(x => x.Product.Name).ToList();

Doc:OrderByDescending(IEnumerable、Func)

あなたのコメントに応じて:

var newList = list.OrderByDescending(x => x.Product.Name)
                  .ThenBy(x => x.Product.Price)
                  .ToList();

2
したがって、編集は名前(z-> aから)、価格(低->高)の順にソートされますか?
PFranchise

11
はい、そうです。OrderByまたはThenByの呼び出しは常に昇順です。OrderByDescendingメソッドとThenByDescendingメソッドは、降順で使用するものです。
StriplingWarrior


11
list.OrderByDescending();

私のために働く。


4
これは、list = list.OrderByDescending()。toList();を実行せずに何もしませんでした。
アルモ2014

8
var newList = list.OrderBy(x => x.Product.Name).Reverse()

これでうまくいくはずです。


1

私のプロジェクトのこのコードを見てください

モデル内のプロパティに基づいてリストを並べ替えようとしていますが、

 allEmployees = new List<Employee>(allEmployees.OrderByDescending(employee => employee.Name));

しかし、の問題に直面したsmall and capital letters existので、それを解決するために、文字列比較子を使用しました。

allEmployees.OrderBy(employee => employee.Name,StringComparer.CurrentCultureIgnoreCase)

-2
list = new List<ProcedureTime>(); sortedList = list.OrderByDescending(ProcedureTime=> ProcedureTime.EndTime).ToList();

これは、降順でソートされた時間を表示するのに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.