概要
このサイトで私がよく尋ねたものの 1 つがLINQです。私が尋ねた質問は広範かつ多様であり、多くの場合、その背景にはあまり背景がありません。そのため、Linq で得た知識を統合するために、LINQ について学び続けながら、追加情報で維持および更新する目的でこの質問を投稿しています。
また、LINQ について学びたいと考えている他の人々にとって役立つリソースになることを願っています。
LINQとは?
MSDNから:
LINQ プロジェクトは、言語に統合されたクエリ、セット、および変換操作を含む、.NET Framework の一連の拡張機能のコードネームです。C# と Visual Basic をクエリのネイティブ言語構文で拡張し、これらの機能を利用するためのクラス ライブラリを提供します。
これが意味することは、LINQ は、共通の構文を使用してさまざまなデータソースをクエリする標準的な方法を提供するということです。
LINQ にはどのような種類がありますか?
現在、Microsoft が提供するいくつかの異なる LINQ プロバイダーがあります。
- Linq to Objectsを使用すると、任意の IEnumerable オブジェクトに対してクエリを実行できます。
- オブジェクト指向の方法でデータベースに対してクエリを実行できるLinq to SQL 。
- XML ドキュメントのクエリ、読み込み、検証、シリアル化、および操作を可能にするLinq to XML 。
- Andreiが提案したLinq to Entities
- Linq からデータセットへ
他にもたくさんありますが、その多くはここにリストされています。
利点は何ですか?
- 複数のデータソースを照会する標準化された方法
- クエリのコンパイル時の安全性
- メモリ内オブジェクトでセットベースの操作を実行する最適化された方法
- クエリをデバッグする機能
では、LINQ で何ができるでしょうか。
ChookはCSV ファイルを出力する方法を提供します
Jeffは配列から重複を削除する方法を示します
Bob はデータテーブルから個別の順序付きリストを取得します
Marxidadは配列をソートする方法を示しますDana はLinq を使用したクイックソート
の実装を支援します
どこから始めれば?
GateKiller の質問からのリンクの要約を以下に示します。
Scott Guthrie は、彼のブログで Linq の紹介を提供していますMSDN
の LINQ の概要
ChrisAnnODellはチェックアウトすることを提案します:
LINQ を使用するには何が必要ですか?
Linq は現在、VB.Net 9.0 および C# 3.0 で利用できるため、完全なメリットを得るには Visual Studio 2008 以降が必要です。(いつでもメモ帳にコードを記述し、MSBuild を使用してコンパイルできます)
C# 2.0 で Linq のようなクエリを実行できるLinqBridgeというツールもあります。
LINQ を使用したヒントとコツ
この質問には、LINQ を使用するいくつかのトリッキーな方法があります