LINQについて学ぶ[終了]


189

概観

このサイトで私がよく尋ねたのはLINQです。私が尋ねた質問は多種多様であり、多くの場合、それらの背後に多くのコンテキストがありません。したがって、Linqで取得した知識を統合するために、LINQについて引き続き学びながら、追加の情報で維持および更新するために、この質問を投稿します。

また、LINQについて学びたい他の人々にとっても役立つ情報になることを願っています。

LINQとは何ですか?

MSDNから:

LINQプロジェクトは、言語に統合されたクエリ、設定、および変換操作を含む、.NET Frameworkの一連の拡張機能のコード名です。C#とVisual Basicをクエリのネイティブ言語構文で拡張し、これらの機能を利用するためのクラスライブラリを提供します。

これは、LINQが共通の構文を使用してさまざまなデータソースをクエリする標準的な方法を提供することを意味します。

LINQにはどのようなフレーバーがありますか?

現在、マイクロソフトが提供するいくつかの異なるLINQプロバイダーがあります。

  • Linq to Objectsを使用すると、任意のIEnumerableオブジェクトに対してクエリを実行できます。
  • Linq to SQLを使用すると、オブジェクト指向の方法でデータベースに対してクエリを実行できます。
  • Linq to XMLを使用すると、XMLドキュメントのクエリ、ロード、検証、シリアル化、および操作を行うことができます。
  • Andreiによって提案されたLinq to Entities
  • Linqからデータセット

他にもかなりの数があり、その多くがここにリストされています

メリットは何ですか?

  • 複数のデータソースを照会する標準化された方法
  • クエリの時間安全性をコンパイルする
  • メモリ内のオブジェクトに対してセットベースの操作を実行するための最適化された方法
  • クエリをデバッグする機能

それでは、LINQで何ができますか?

Chookはへの道を提供出力CSVファイル
ジェフする方法を示していますが、配列から重複を削除
ボブが取得するデータテーブルから明確な順序付きリストを
Marxidadの方法を示して配列のソート
ダナは、実装の助けを得るソートのLINQを使用してクイックを

どこから始めれば?

GateKillerの質問からのリンクの要約を以下に示します
スコットガスリーは彼のブログでLinqの紹介を提供していますMSDN
でのLINQの概要

ChrisAnnODellは、以下を確認することをお勧めします。

LINQを使用するには何が必要ですか?

Linqは現在VB.Net 9.0およびC#3.0で利用できるため、完全な利点を得るにはVisual Studio 2008以降が必要です。(常にメモ帳でコードを記述し、MSBuildを使用してコンパイルできます)

LinqBridgeと呼ばれるツールもあり、C#2.0でクエリのようなLinqを実行できます。

LINQを使用するヒントとコツ

この質問には、LINQを使用するいくつかのトリッキーな方法があります


素晴らしい投稿とScottGuのブログへの参照の+1。これは素晴らしいリソースであり、最初にLINQを学びました。
Evan Plaice

Hooked On LINQは日本のサイトに行きます。グーグル翻訳は、nsfwであるリミングやその他のお尻について話しています。:SIは何らかの理由で編集できません。
シェーン

回答:




4

Linq in Actionの本を入手してください。これはコーディングブックを簡単に読むことができ、Linqの使用方法と、.NET 3.5の新機能の一部であり、Linqが言語に組み込んだ優れた部分を実際に教えています。


4

いくつかのLINQのヒント:

  • クエリのパフォーマンスを向上させるために結合の前にフィルターを適用する
  • オブジェクト参照比較を使用してLINQクエリをフィルター処理する
  • LINQ to SQLクエリで空のコレクションに集計を適用する
  • LINQ to SQLでのプロパティの読み込みを遅らせる
  • Eager Loadingをオンにしてテーブル値関数を使用する
  • LINQ to Objectsクエリに正しい順序で結合を配置する
  • ループ内でLINQクエリを作成する

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


4

見落とされているが重要なIMHOの利点は、LINQのコーディング効率です。私は個人的に、クエリ構文が読みやすく、理解しやすいと思います。



3

「LINQにはどんなフレーバーがあるの?」への答えだと思います。不完全です。まず、自分だけの「味」をつくることができます。はい、それは高度なタスクですが、現在、多くの異なるLINQ実装があります。

以下は、Charlie Calvertのブログにある既存のLINQプロバイダー(およびLINQの学習に関するその他のリソース)のリストです。Linksto LINQ

また、独自のLINQプロバイダーの作成方法に関するMatt Warrenによる優れた一連のブログ投稿もあります。LINQ:IQueryableプロバイダーシリーズの構築


2

私の2セントで、「C#in Depth」の「11 Query式とLINQ to Objects」および「12 LINQ beyond collections」の章を読んで、LINQのしくみを理解してください。


0

Linq練習用

演習と回答を含むLINQの練習が必要な場合は、セットアップが非常に簡単で、私の意見では素晴らしい:

https://github.com/walkhard/linq-exercises

gitからダウンロードし、Visual Studioで開きます。あなたの仕事はテストに合格することです。

[開示:私はそこからlinqをいくつか学び、プロジェクトに貢献しているので、そうすれば、それは素晴らしい、速くて効率的な学習方法だと思います。]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.