1. ホーム
  2. c#

C#でLINQを使ってリストをソートする

2023-09-05 03:36:13

質問

C#でリストをソートしたい。

構造プロパティAVCがtrueになり、それらを最初に表示し、AVCがfalseになる場所のように。C#のLINQでこれを行う方法はありますか?

どのように解決するには?

さて、LINQを使った最も簡単な方法は、次のようなものでしょう。

list = list.OrderBy(x => x.AVC ? 0 : 1)
           .ToList();

または

list = list.OrderByDescending(x => x.AVC)
           .ToList();

I 信じる の自然な順序は bool の値は false < true であることは誰もが知っているので、最初の形式はより明確であるIMO。 0 < 1 .

これは元のリスト自体をソートするわけではないことに注意してください - 新しいリストを作成し、その参照を list 変数に戻されます。もし、その場でソートしたい場合は List<T>.Sort というメソッドを使います。