LINQとは?

LINQとは何か?

LINQには様々な定義があるが、簡単に言えばLINQとは以下のようなものと言えます。

LINQとは、シーケンス側のメソッドを拡張することで、従来はforeach文でループしながら処理していたことを、ラムダ式やLINQ構文というLINQ操作のための構文を使って簡潔に表現できるようにしたもの。

Linqの説明ではしばしば以下のような解説がされていることがありますが、これは正確にはLinqの説明ではなく、型付DataSetの性質を表しているに過ぎません。

SQL文は文字列で記述しなければならず、その構文が正しいかどうかは実行するまで分かりません。つまり、コンパイル時に構文エラーを検出できません。

SQL文の記述時にIntelliSense機能で列名を自動補完してくれません。例えば、テーブルの列名のスペルを間違ったとしても、それは実行時にSQL文が送信されるまでエラーになりません。LINQはまずこれらの問題を解決してくれます。

 

LINQが使用できる環境

LINQが利用可能な言語は、Visual Studio 2008(.NET Framework 3.5)に含まれる「Visual Basic 2008」や「C# 3.0」です。.NET Framework 3.5のクラス・ライブラリには、LINQのクエリを実行するのに必要なクラス群が追加されています。

  • .NET Framework 3.5
  • Visual Basic 2008
  • C# 3.0

 

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

Linqにはクエリ構文とメソッド構文があります。クエリ構文はメソッド構文をSQLの構文に似た構文で記述できるようにしたシンタックスシュガーです。クエリ使用できるメソッドは全51のうちの約5分の1しかありません。Linqのもつ多彩な機能を最大限活用するためにはメソッド構文が必要です。

 

LINQの実態はシーケンスに対するただの拡張メソッド

Linqの実装としての実態は、シーケンスに対するただの拡張メソッドです。

つまり、シーケンスを扱いやすくするためのメソッド郡に過ぎません。

コメントを残す

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