概要
ThenByDecendingメソッドは、LINQの並び替えを行うメソッドの一つで、指定したキーで昇順にソートし、その後に指定したキーで降順にソートします。つまり、先に指定したキーで昇順にソートした結果をさらに指定したキーで降順にソートすることができます。
この記事ではThenByDecendingの使用方法を説明します。
公式サイト情報はコチラを参照してください。
構文
var query = collection.OrderBy(item => item.Key1) .ThenByDescending(item => item.Key2);
ThenByDecendingメソッドは、「OrderBy」「OrderByDescending」「ThenBy」メソッドと同様に、並び替えを行うメソッドです。これらのメソッドは、引数として並び替えに使用するキーを指定します。そして、OrderByメソッドは、先に指定したキーで昇順にソートした結果をさらに指定したキーで降順にソートすることができます。引数には、並び替えに使用するキーを指定するラムダ式を渡します。
使用例
using System; using System.Linq; class Program { static void Main() { var persons = new[] { new { Name = "Alice", Age = 25 }, new { Name = "Bob", Age = 20 }, new { Name = "Charlie", Age = 30 }, new { Name = "David", Age = 20 }, new { Name = "Eve", Age = 25 }, }; var query = persons.OrderBy(p => p.Age) .ThenByDescending(p => p.Name); foreach (var person in query) { Console.WriteLine($"Name: {person.Name}, Age: {person.Age}"); } }
上記の例では、5人のPersonオブジェクトを、まずは年齢で昇順にソートし、その後に名前で降順にソートしています。つまり、同じ年齢の場合は名前の逆順で並び替えられます。実行結果は以下のようになります。
Name: Bob, Age: 20 Name: David, Age: 20 Name: Alice, Age: 25 Name: Eve, Age: 25 Name: Charlie, Age: 30
.NET クラス Tips 一覧
これまでに紹介した .NET Tips 一覧はこちら。
Please follow and like us:
コメント