【C#】LINQの使い方(その1)

知ってると結構便利なLINQについてのあれこれです。
今回はソート編です。(続くとは言っていない)

LINQとは

LINQとは「Language-Integrated Query」の略で
日本語にすると統合言語クエリっていうらしいです。

IEnumerableインタフェースを実装されていれば大体使えます。

LINQの使い方

以下は公式リファレンスのサンプルコードを抜粋したものですが、
5~7行目がLINQを使用している部分になります。

クエリ構文とメソッド構文

多分宗教戦争が起こるとしたらここでしょう。

先ほどのコードはクエリ構文で書かれており、
もう一つのメソッド構文は以下のように書きます。

自分は初めて仕事で使われているのを見たのが
メソッド構文だったのでこっちの方がしっくりきます(*’▽’)


ソートについて

クエリ構文

SQL文書ければ大体わかる感じです。
予約語が全て小文字でなければいけなかったり、
SELECT句が最後だったりとSQLとは全く別物なわけですが…

メソッド構文

ソートに関して以下のメソッドが用意されています。

OrderBy シーケンスの要素をキーに従って昇順に並べ替えます。
OrderByDescending シーケンスの要素をキーに従って降順に並べ替えます。
ThenBy キーに従って昇順のシーケンス内の要素の後続の並べ替えを実行します。
ThenByDescending キーに従って降順に並べ替え、シーケンス内の要素の後続の並べ替えを実行します。

使用してみた例が以下の通りです。


複数キーのソート

勿論、複数キーのソートにも対応しています。

サンプルクラス

以下のPeopleクラスをソートしてみます。

Listクラスを利用しつつidは降順、nameは昇順にソートしてみます。
(ListクラスにはIEnumerableインタフェースが実装されているので
LINQを使うことができます。)

以下の通りにちゃんと実行されています。


その2は何年後に書かれることやら(*´з`)

【C#】LINQの使い方(その1)” への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください