189

概要

このサイトで私がよく尋ねたものの 1 つがLINQです。私が尋ねた質問は広範かつ多様であり、多くの場合、その背景にはあまり背景がありません。そのため、Linq で得た知識を統合するために、LINQ について学び続けながら、追加情報で維持および更新する目的でこの質問を投稿しています。

また、LINQ について学びたいと考えている他の人々にとって役立つリソースになることを願っています。

LINQとは?

MSDNから:

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

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

LINQ にはどのような種類がありますか?

現在、Microsoft が提供するいくつかの異なる 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 を使用するいくつかのトリッキーな方法があります

4

9 に答える 9

13

エンティティへの LINQ:

私は、Delicious.com でタグ付けしたものがたくさんあります。

于 2008-10-12T11:00:03.143 に答える
7

ADO.NET Entity Framework は重要な .NET モジュールになるため、LINQ to Entities について言及します。

于 2008-08-28T22:52:29.147 に答える
5

いくつかのLINQのヒント:

  • 結合の前にフィルターを適用して、クエリのパフォーマンスを向上させます
  • オブジェクト参照の比較を使用してLINQクエリをフィルタリングする
  • LINQtoSQLクエリの空のコレクションに集計を適用する
  • LINQからSQLへのプロパティの読み込みを遅らせる
  • 積極的な読み込みをオンにしてテーブル値関数を使用する
  • LINQtoObjectsクエリで結合を正しい順序で配置する
  • ループ内でLINQクエリを作成する

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

于 2009-04-03T20:14:24.807 に答える
4

Linq in Actionという本を入手してください。コーディング ブックとしては読みやすく、Linq の使用方法と .NET 3.5 の新機能について、Linq に追加されたいくつかの優れた機能について実際に説明されています。

于 2008-08-30T02:02:43.477 に答える
4

IMHO、見過ごされているが重要な利点は、LINQ のコーディング効率です。たとえば、わずかなコードでどれだけのことが達成できるかです。個人的には、クエリ構文は読みやすく理解しやすいと思います。

于 2009-12-10T21:22:22.023 に答える
3

LINQ to SQLの使用に関するいくつかの注意事項:

Microsoftは本当にLINQtoSQLを殺したのでしょうか?

LINQ to SQL DOAですか?

請願書を含む、EntityFrameworkの最初のバージョンについてもいくつかの論争があります。

于 2008-11-07T14:46:42.010 に答える
3

「LINQにはどんなフレーバーがあるの?」に対する答えだと思います。不完全です。まず、自分だけの「味」を作ることができます。はい、これは高度な作業ですが、現在、さまざまな LINQ 実装が多数あります。

Charlie Calvert のブログ ( Links to LINQ ) にある既存の LINQ プロバイダーのリスト (および LINQ を学習するためのその他のリソース) を次に示します。

また、Matt Warren による独自の LINQ プロバイダーの作成方法に関する優れた一連のブログ記事もあります: LINQ: Building an IQueryable provider series

于 2009-11-06T17:56:08.483 に答える
2

私の 2 セント 、「C# の詳細」本の「11 クエリ式と LINQ to Objects」および「12 コレクションを超えた LINQ」の章を読んで、LINQ の仕組みを理解してください。

于 2015-10-07T11:19:26.963 に答える