BasicとC#の新しい言語機能について説明してきました。Query:統合言語クエリ)と言われる機能です。通常、プログラミングをしている際には、オブジェクトや配列、データベース、DataSet、XMLなどさまざまな情報にアクセスする必要があります。従来は、アクセス対象に合わせてプログラミングをしていましたが、LINQを利用することで同じようなプログラミング方法で、異なる情報にアクセスできるようになります。LINQを利用する場合には大雑把に以下の3つの手順を踏みます。Serverデータベース、Xmlドキュメント、DataSetなどが利用可能です。これらのアクセス対象には、抽出処理をデータソースに対する処理に変換するLINQプロバイダというものが予め用意されているということでもあります。独自にLINQプロバイダを作成することで、どのようなデータソースに対してもLINQ技術を利用できるということになります。次に、データソースに対する抽出処理です。抽出処理は一般的にクエリ式というものを使って記述されます。仮にcustomersという名前のデータソースが用意されている場合、抽出処理は次のように記述できます。};SQL文をご存じの場合には、順番こそ異なるものの見慣れた構文ではないかと思います。これがLINQで利用されるクエリ式と言われるものです。これはクエリ式を利用してこのようにも記述できるというだけで、実態としては次のようなコードを記述しているのと同義です。});ここでの、WhereやOrderByなどのメソッドはコレクション系クラスなどに対する拡張メソッドです(正確にはIEnumerable(T)インターフェースに対する拡張メソッド)。メソッド、ラムダ式のすべてを総動員している集大成の技術であることがご理解いただけるかと思います。このようなさまざまな機能を利用して書いていたのでは大変なのでこれを簡略化するためにクエリ式という新しい機能を利用して、記述を簡単にしているということになります。Each構文などを利用したり、WindowsフォームのDataGridViewやASP.NETのGridViewなどにそのまま利用したりといったことができます。ASP.NETには新しいDataSourceコントロールとしてLinqDataSourceコントロールというものも用意されているので、データバインド機能の中に簡単に組み込むことができます。3.5の新機能をいろいろな点から紹介しました。Frameworkが位置するところをご理解いただけたでしょうか。クラスライブラリとして、言語そのものとして、さまざまな新機能が追加されていることがわかるかと思います。今回は細かい詳細の動作は説明できませんでしたが、LINQという大きな技術についてこれを支えている言語機能という点から紐解いて説明しました。とっつきにくいと思われる大型テクノロジーを理解する糸口になれば幸いです。3.5世代のASP.NETとWebテクノロジについて解説する予定です。ライブラリ<1234連載通知を行うには会員登録(無料)が必要です。会員の方はログインを行ってください。