C#のorderby句とは?コレクションを昇順・降順に並べ替える方法を解説
C#のorderby句は、LINQクエリの中でコレクションの要素を、指定したフィールドや条件に基づいて並べ替えるために使用します。並べ替えの順序は昇順(ascending)または降順(descending)から選択でき、省略した場合は昇順が既定値となります。
サンプルデータの準備
まず、並べ替え対象となる文字列のリストを用意します。
List<string> myList = new List<string>();
// 要素の追加
myList.Add("iOS by Apple");
myList.Add("Android by Google");
myList.Add("Symbian by Nokia");
orderby句で降順に並べ替える
orderby句を使って、各要素を文字列の長さ(Length)を基準に降順へ並べ替えるには、次のように記述します。
var myLen = from element in myList
orderby element.Length descending
select element;
descendingキーワードを付けることで降順になります。逆に昇順にしたい場合は、ascendingを指定するか、単にorderby句のみを記述します。
完全なサンプルコード
using System;
using System.Collections.Generic;
using System.Linq;
class Demo {
static void Main() {
List<string> myList = new List<string>();
myList.Add("iOS by Apple");
myList.Add("Android by Google");
myList.Add("Symbian by Nokia");
var myLen = from element in myList
orderby element.Length descending
select element;
Console.WriteLine("Descending order...");
foreach (string str in myLen) {
Console.WriteLine(str);
}
}
}
実行結果
Descending order... Android by Google Symbian by Nokia iOS by Apple
このように、orderby句にelement.Length descendingを指定することで、文字列が長い順に要素が出力されました。数値プロパティだけでなく、文字列そのものや日付など、比較可能な任意のフィールドを基準に並べ替えられる点もorderby句の大きな特徴です。
-
C#のKeyValuePairクラスでペア(キーと値の組み合わせ)を扱う方法
C#では、2つの値をひと組の「ペア」として1つのリストに格納したい場合に、KeyValuePairクラスを利用します。KeyValuePairは、キー(Key)と値(Value)を関連付けて保持できるジェネリックな構造体であり、Listなどと組み合わせることで、柔軟かつ効率的なデータ管理が可能になります。 KeyValuePairの宣言方法 まず、KeyValuePair<string, int>型の要素を持つListを宣言します。 var myList = new List<KeyValuePair<string, int>>(); 要素の追加 続いて
-
【SQL Server入門】ORDER BY句の使い方を徹底解説!構文からASC/DESC・実例まで
SQL ServerにおけるORDER BY句は、SELECT文が返す結果セットのレコードを並べ替える(ソートする)ために使用される句です。なお、ORDER BY句はSELECT文の中でのみ使用できます。 ORDER BY句の基本構文 SELECT 式 FROM テーブル [WHERE 条件] ORDER BY 式 [ASC | DESC]; 各要素の説明 式:取得したい列や計算値を指定します。 テーブル:レコードを取得したいテーブルです。FROM句には必ず1つ以上のテーブルを指定する必要があります。 WHERE 条件:省略可能です。レコードを選択するために満たすべき条件を指定します。 A