.net column

.NET開発者のためのブログメディア

【データの並べ替え】LINQのOrderBy句の使用方法とは

2019年11月13日

C#でプログラミングを行う場合には、Language INtegrated Query(略称:LINQ)機能が利用できます。直訳すると、統合言語クエリです。この機能は.NET Framework 3.5から搭載され、データベースやXMLなどのデータに対して、統一化された方法で問い合わせることを可能にします。ここでは、そのLINQ機能の中でも基本的なOrderBy句について紹介します。

SE
LINQ機能ってなんだか難しそうですが、やっぱり使わないとダメなのでしょうか?
PM
LINQ機能は初心者の方にとっては難しく感じるかもしれませんね。でも慣れてくると使い勝手がいい機能になりますよ。簡単にデータに問い合わせできるので、プログラム全体の質も上がってきます。

LINQ機能におけるOrderBy句を利用してのデータの並び替えとは

データベースに問い合わせを行ったことがある方なら、OrderBy句で連想されるのはデータの並び替えではないでしょうか。LINQ機能でもOrderBy句を利用するとデータを並び替えることができます。

LINQではメソッド構文(ラムダ式を使用)とクエリ構文といった二通りの構文の書き方があります。

以下、クエリ構文を利用したLINQの基本形です。OrderBy句は、Where句とSelect句の間にコーディングします。

以下、メソッド構文でLINQ機能を利用した時に、OrderBy句と同様にデータを並び替えることが可能なメソッドです。

OrderBy句昇順ソートを行います。
OrderByDescending句降順ソートを行います。
ThenBy句昇順ソートを行います。ソート条件を複数つけたい場合などで利用します。
ThenByDescending句降順ソートを行います。ソート条件を複数つけたい場合などで利用します。

LINQ機能におけるOrderBy句の使用方法

ここでは、LINQ機能でのOrderBy句の活用例をメソッド構文とクエリ構文に分けて紹介していきます。

メソッド構文で書くLINQでの活用例

クエリ構文で書くLINQでの活用例

SE
OrderBy句やWhere句などSQLを利用したことがある方なら見覚えのある単語がけっこうLINQ機能には出てきますが、LINQとSQLは同じなのでしょうか?
PM
LINQとSQLは全くの別物ですよ。 C#独自の構文ですのでSQLとは混在しないようにしましょうね!

OrderBy句を利用して、出力順序を保証しましょう

クエリを実行してデータを複数件取得できたら、どうしても並び替えが必要となってきます。OrderBy句を使用しないとデータの出力順は保証されません。1件だけの取得で利用する必要はないですが、複数件出力する場合は、OrderBy句を積極的に活用していくことを心がけましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)