連載:[完全版]究極のC#プログラミングChapter15 LINQとクエリ式川俣 晶2010/03/17 |
|
|
15.23 クエリ結果の個数を得る
クエリの結果の個数だけがほしい場合には、クエリに対してCountメソッドを呼び出す。これは列挙を行って、結果の個数だけを返してくれるメソッドである。
たとえば、上記の例を「アルファベットA〜Zの26文字のうち、偶数番目の文字は合計何文字か」求めるように修正してみよう。この場合、文字列を生成する必要はまったくない。さらにいえば、個数だけがわかればよいので、配列を生成する必要もない。
そこで、ToArrayメソッドをCountメソッドに差し替えることができる(リスト15.29参照)。これで、より軽量に意図を実行できるプログラムに仕立てることができ、かつ、ソースコードに列挙の構文を書き込む必要はない。
| |
リスト15.29 クエリの即時実行で個数を得る |
ちなみに、このケースでは個数だけを見るので、select句で返す内容は意味を持たない。極端なことをいえば、「select 0」のように書き直してつねに0を結果としても、このプログラムの出力そのものは正しいままである。
このような即時実行形のメソッドはCountのほかにMax(最大値)、Average(平均値)、First(先頭の項目)などがある。これらを活用することも、もちろん価値がある。
「[完全版]究極の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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|