連載:[完全版]究極のC#プログラミングChapter15 LINQとクエリ式川俣 晶2010/03/17 |
|
|
15.5 最も基本的なLINQ
最も基本的なLINQの構文を見てみよう。次のリスト15.2は、整数(int)の配列の内容を“いっさい条件を設けず、加工もせずに”にクエリする例である。つまり、元の配列の内容がそのまま得られる(この式に条件や加工処理を肉付けしていくことで、実用クエリに仕上げていくことができる)。
| |
リスト15.2 最も基本的なLINQ |
var queryで始まる行を見ていただきたい。LINQはfrom句で始まり、select句またはgroup句で終わる。「from A in B」は、Bという対象(データソース)を列挙して、個々の値をAという名前の変数(範囲変数)で受けることを意味する。これは、「foreach ( var A in B )」と似ている。Bという対象が持つ個々の値を、Aという変数で受けているわけである。
ちなみに、範囲変数は本来、型を付けて「from int x」のように書くが、型名は省略できるので、「int」は書かれていない(もちろん、型は自動的に確定するのであって、曖昧な型で扱われるわけではない)。
そして、select句にはクエリ結果に含める値を指定する。ここでは「x」を記述しているので、from句で取り出された値がそのまま格納される。
以上により、クエリオブジェクト(リスト15.2では「query」)をforeach文で列挙すると、元の配列と同じ値が同じ順番で出てくる。
「[完全版]究極のC#プログラミング」 |
Insider.NET フォーラム 新着記事
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|