概要
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:

コメント