個人財務 LINQ for Dummiesチートシート - ダミー

LINQ for Dummiesチートシート - ダミー

ビデオ: C# Tutorial 15 LINQ Tutorial 2024

ビデオ: C# Tutorial 15 LINQ Tutorial 2024
Anonim

By John Paul Mueller

言語INTEgrated Query(LINQ)はの機能です。マイクロソフトのものを超えてあなたの把握を広げるNET Framework。 LINQを使用すると、基本的な演算子といくつかの追加のクエリ演算子を知ることで、何かをクエリすることができます。途中で紛失してしまった場合、マイクロソフトはネットワーク、ブログ、フォーラムを通して豊富なリソースを提供しています。

必須LINQ演算子

<! - 1 - >

言語INTEgrated Query(LINQ)は、すばらしい演算子配列を使用します。 演算子 は、2つの値が等しいかどうかのチェックなど、実行するクエリの種類をLINQに伝える特別な単語です。演算子は数百に達することができますが、ほとんどの場合、わずかな標準演算子を使用して大部分のタスクを実行します。以下は、必須のLINQ演算子の一覧です。

演算子 説明
から クエリの実行に使用される一時オブジェクトを定義します。

この演算子は個々の要素オブジェクトを定義していると考えてください。

このクエリから他のすべてのデータを派生させます。たとえば、一時変数に基づいて、

出力に表示されるデータとそのデータの順序付け方法

を選択します。 from

演算子は、作成するすべてのクエリに表示される唯一の演算子です。

in

データを取得するために使用されるデータソースを定義します。データソース は、データプロバイダによってサポートされる任意のオブジェクトとすることができる。プロバイダ

は、データソースとLINQクエリとの間の接続を作成します。

たとえば、データソースには、リスト

ボックス、XMLファイル、SQL Serverテーブル、Active Directory、Web

サービスなどのオブジェクトや、

情報を収集する。 LINQクエリを使用して

ハードドライブ上のファイルを直接操作することも可能です。クエリには、クエリで使用される

データソースを完全に記述するために必要な、from演算子とin演算子の一致する

ペアが含まれます。

select

クエリの出力情報を選択します。最も単純な 出力は、from演算子を使用して定義した同じオブジェクトです。しかし、選択演算子は、計算値、データ配列、または個々のオブジェクト特性を含むことができる。ほとんどの場合、制限要因はLINQ

プロバイダが提供する機能です。 4つのデフォルトプロバイダにはすべて、

の範囲の選択オペレータビヘイビアが含まれています。

クエリには1つの選択演算子

しか含まれておらず、この演算子は

クエリの最後の演算子として指定する必要があります。

要素が出力の一部として表示される条件を記述します。where演算子は常に出力条件を定義するためにブール引数を必要とします。あなたは

が出力基準を完全に記述するために必要な数のオペレータを含むことができます。 LINQは を演算子のどこにクエリが現れる順序で解釈するので、順序が重要です。クエリ

が予期したとおりに動作しない場合は、出力演算子の順序を変更して、出力の要件をよりよく説明するようにしてください。デバッガを使用して、オペレータの論理的な流れでエラーを見つけるのを助けます。

orderby

出力要素が表示される順序を定義します。

最も単純なorderby演算子は、from

演算子を使用して定義した

オブジェクトに依存します。しかし、orderby演算子

は、通常、数値、アルファベット、シンボル、またはバイナリのような、論理順序付け引数

を入力として定義する文をすべて受け入れることができます。

データの出力順を完全に記述するのに必要な

ように、多くのorderby演算子を使用できます。 whereオペレータの場合と同様に、LINQはorderby演算子をクエリに現れる順序で解釈します。したがって、orderby演算子の順序は重要です。

join and on

2つ以上のデータソースを結合して、データの複合ビューを作成します。データソースは、同じプロバイダーに依存する必要はありません。

は、

クエリに使用されるすべてのデータソースを完全に記述するのに必要な

ような数の結合演算子を使用できます。 on演算子は、2つのデータソースを結合するために使用される

基準を定義します。完全なデータソースを作成するには、結合と演算子

をペアにします。

let

クエリ内で使用する計算値を作成します。計算された

の値により、複雑なクエリを簡単に作成できます。さらに、 は、計算された値を呼び出し元に渡して、追加の

出力情報を提供することもできます。多くの場合、let演算子は、LINQが命名の競合のために通常渡さないデータを渡す手段を提供します。あなたは

が必要なだけ多くの演算子を使って完全なクエリ機能を提供することができますが、計算された

値がクエリ速度を向上させる場合には

の使用を制限するべきです。

<! LINQ標準クエリ演算子グループの探索

標準クエリ演算子を使用すると、言語INTEgrated Query(LINQ)の処理がかなり簡単になります。多くの意味で、単純なクエリ演算子ですでに作業している可能性があります。たとえば、orderbyキーワードを使用すると、標準クエリ演算子のソートグループでクエリ演算子を使用しています。 whereキーワードを使用すると、別のクエリ演算子を使用していますが、今回はフィルタリンググループに含まれています。

<! - 3 - > 標準的なクエリ演算子グループの一覧と追加情報がある場所を次に示します。

グループ

グループ説明

含まれる演算子

追加情報

集計演算

集計演算子はすべて、データソースで数学的な作業を実行するのに役立ちます。

集計演算

連結演算

唯一の連結演算子では、2つの

シーケンスを結合することができます。

Concat

Microsoft

デベロッパーネットワーク:連結操作

データ型の変換 データ型の変換には遅延型と非固定型の2種類があります。遅延変換演算子は、コードが結果セット を解釈するときに、クエリの結果 を特定のタイプに変換します。不承認の変換演算子は、
クエリの出力を特定の型に変更します。 AsEnumerable、AsQueryable、Cast、

OfType、ToArray、ToDictionary、ToList、およびToLookup

Microsoft 開発者ネットワーク:データ型の変換

要素操作

要素などの識別情報 がわからなくても、

シーケンス内の特定の要素を選択します。

ElementAt、ElementAtOrDefault、FirstOrDefault、Last、 LastOrDefault、Single、およびSingleOrDefault

Microsoft

開発者ネットワーク:要素操作 等価操作

唯一の等価演算子は、 2つの999のシーケンスは等しい(要素の数および各要素の内容は等しい)。

SequenceEqual

Microsoft

開発者ネットワーク:等価操作

データのフィルタリング

フィルタ演算子を使用すると、特定の条件に基づいてシーケンス内の要素を除外または含めることができます。

OfTypeとWhere

Microsoft

開発者ネットワーク:データのフィルタリング

生成操作 生成演算子は、指定した

条件に基づいて新しいシーケンスを作成します。

DefaultIfEmpty、Empty、Rangeおよび

Repeat

Microsoft

開発者ネットワーク:生成操作

データのグループ化

グループ化演算子を使用すると、特定の

文字列のグループの最初の文字として使用します。

GroupByとToLookup

Microsoft 開発者ネットワーク:データのグループ化

結合操作

結合演算子は2つ以上のシーケンスを入力として受け入れ、特定の結合に基づいて1つの出力シーケンスを作成します結合条件を入力してください。 Join and GroupJoin

Microsoft

開発者ネットワーク:結合操作 データのパーティション化

パーティション演算子を使用すると、シーケンスをセクション化して

特定の情報を見つけることができます。 スキップ、SkipWhile、Take、および

TakeWhile

Microsoft

開発者ネットワーク:データのパーティショニング

投影操作

投影演算子は、作成したクエリ

Select and SelectMany

Microsoft

開発者ネットワーク:投影操作

定量演算 定量演算子は、

特定の基準に基づいて要素を選択するのに役立ちます。これらの演算子を使用して、

なし、1つまたは複数の要素が選択された 条件を満たすかどうかを判断します。

すべて、任意、

および

マイクロソフト 開発者ネットワーク:数量演算

集合演算

集合演算子は集合を作成する。あなたは学校で演奏された算数を思い出してください

データのソート

並べ替え演算子を使用すると、シーケンスを特定の

順に並べ替えることができます。

マイクロソフトの

開発者ネットワーク:データの並べ替え

Microsoft LINQリソース 追加情報やツール、拡張機能の入手先を知ることはいつでも役立ちます言語インテグレートクエリ(LINQ)アプリケーションを作成するときに使用します。ここでは、LINQに役立つマイクロソフトのリソースの一覧を示します。

Microsoft Developer Network

Microsoft Developer Network(MSDN)は、常にすべてのMicrosoft開発製品のベースラインマテリアルを提供しています。あなたはそこに情報の完全な倉庫を見つけるでしょう - 一人の人間がおそらく一生読むことができる以上に。したがって、情報を慎重に調べる必要があります。そうしないとMSDNの迷路ですぐに失われてしまいます。 LINQを使用するための主なMSDNサイトでは、ニュース、リソース、およびサンプルなどの他の情報へのアクセスを提供しています。 マイクロソフトのブログ

Microsoftは、LINQの使い方を知りたがっています。過去には、必要な情報の多くをMSDNで見つけることができました。 MSDNのWebサイトはまだまだ良い場所ですが、多くのMicrosoft開発者は、あまりにも正式ではない(いくつかのケースでは記事がかなり理解しにくい)と不満を持ち、著者と対話する機会はありませんでした。マイクロソフトのブログは、実際に著者に対応できる情報を得るための友好的な環境を提供しています。

Beth Massi:Visual Basic(VB)の良さを分かち合う Charlie Calvertのコミュニティブログ

Wriju's BLOG:LINQで働くときに訪れたいブログがいくつかあります。 NETとEverything

これらのブログのほとんどは一般的なものであり、何らかのプログラミング問題について議論しています。その結果、各ブログにトピックが混在しています。著者は1つの投稿でファイルシステムを、別の投稿ではLINQについて議論するかもしれません。それぞれには、ブログの検索機能を使用して検索できるLINQ固有のエントリがあります。 Charlie CalvertはMicrosoftを辞めたが、彼のブログには豊富な一般的なLINQ情報が含まれている。

マイクロソフトのフォーラム

ブログを通じてマイクロソフトとのやりとりが十分に行われていないと思われる場合は、マイクロソフトの社員もしばしばマイクロソフトのフォーラムを頻繁に利用します。正しいフォーラムにメッセージをアップロードすると、専門家の助けや、他のフォーラムメンバーからの知識豊富な助けを得ることができます。ほとんどの開発者は、LINQに関する基本的な質問についてはMSDNフォーラムを利用しています。 Microsoftコミュニティでは、一般的なフォーラムの一覧を見ることができます。 Visual Basicの言語固有のフォーラムをお試しください。ネット。
LINQ for Dummiesチートシート - ダミー

エディタの選択

Drupalフォーラムの有効化 - ダミー

Drupalフォーラムの有効化 - ダミー

フォーラムはユーザーコミュニティを作成するのに最適です。人々は他者からの援助を得ることができ、あなたのコンテンツに関するフィードバックを提供し、単純に社会化することができます。あなたのDrupalフォーラムは、あなたが望むようにしっかりとまたはゆるやかに制御することができます。フォーラムで許可されているカテゴリを制御できます。フォーラムの例を見るには、Drupal Forumを参照してください。 ...

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ウェブホスティング会社は、あなたがDrupalをインストールし、あなたのサイトをウェブ上に見えるようにするWebサーバー。一部の企業では、Drupalをインストールしたり、ワンクリックでインストールすることができます。あなたがDrupalのインストールをスキップする場合は、次のいずれかのアカウントを取得することを検討してください。

Drupalガーデンサイト構造管理 - ダミー

Drupalガーデンサイト構造管理 - ダミー

Drupal Garden Structureページでは、 、ページ、およびブロックを表示します。このページから制御できる特定の機能、ブロック、およびページには、連絡先フォーム、フォーラム、メーリングリストなどがあります。ブロックで表示される機能をブロックで管理することもできます。

エディタの選択

エグゼクティブとのデータマイニング - ダミー

エグゼクティブとのデータマイニング - ダミー

数字で遊ぶという楽しみのためにデータマイニングに取り掛からない。あなたは行動を望む。あなたは正しいことを見たいと思っています。データからの確かな証拠に基づいてビジネス上の決定を下すことが重要であることを理解しています。しかし、あなたは決定を下す権限を持つ人ではありません。だからあなたは...

ビッグデータガバナンスチャレンジ - ダミー

ビッグデータガバナンスチャレンジ - ダミー

データガバナンスは、大きなデータソースが彼らがどのように管理されているか。従来のデータウェアハウスやリレーショナルデータベース管理の世界では、データ保護の必要性に関するルールをよく理解している可能性があります。たとえば、医療界では、それは...

エディタの選択

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

赤外線を電気的に生成するには、赤外線スペクトルで動作する特殊な発光ダイオード(LED)を使用します。赤外線LED(しばしばIR LEDと呼ばれる)は、RadioShackまたは電子部品を販売する他の店で容易に入手できます。 IR LEDは、通常のLEDと似ていますが、光を見ることはできません。

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

を通して、あなたの電子プロジェクトを制御する場合パラレルポートであるKit 74 DOSソフトウェアは、コマンドプロンプトから実行できるRELAY、DELAY、WAITFORの3つのコマンドで構成されています。 RELAYコマンドRELAYコマンドは、1バイトのデータをパラレルポートに送信します。あなたから実行できること - RELAY、DELAY、およびWAITFOR - 8つの出力端子のそれぞれが...

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

、フリップフロップは特殊なタイプのゲートラッチ回路です。フリップフロップにはいくつかの異なるタイプがあります。フリップフロップの最も一般的なタイプは次のとおりです。SRフリップフロップ:SRラッチに似ています。 CLOCK入力に加えて、SRフリップフロップにはSETとRESETという2つの入力があります。 SET入力がHIGHの場合...