連載:[完全版]究極のC#プログラミング

Chapter7 ラムダ式(後編)

川俣 晶
2009/11/02

7.3 ステートメント型のラムダ

 ここまで見てきたラムダ式は、「式形式のラムダ」と呼ばれる。まさに「式」によって内容が記述されるからである。

 一方、前章で紹介したように、内容を文の列として記述する「ステートメント型のラムダ」も存在する。簡単な式ではなく、込み入ったコードを書く場合はこちらのほうが便利である。書き方は簡単で、式の代わりに中カッコで囲った文の列を書くだけである。

 ステートメント型のラムダが値を返す場合はreturn文を使用する。たとえば、式形式をステートメント型に変更する場合は、以下のように修正する。

(n) => a == n;
式形式のラムダ

(n) => { return a == n; };
ステートメント型のラムダ

 これを見るとわかるとおり、かなり文字数が増えて冗長な感じになる。しかし、式形式のラムダでは書けずステートメント型のラムダが要求されるケースでは、かなり長めのコードを書くことになるため、returnキーワードが増える程度のオーバーヘッドはさほど気にはならない。


 INDEX
  [完全版]究極のC#プログラミング
  Chapter7 ラムダ式(後編)
    1.7.1 ラムダ式は何をもたらすか?
    2.7.2 ラムダ式と匿名メソッドの違い
  3.7.3 ステートメント型のラムダ
    4.7.4 式形式のラムダの可能性
    5.7.5 型指定を省略できる場合、できない場合
    6.7.6 何もしないラムダ式
    7.7.7 ラムダ式の使用例/【C#olumn】「=>」は不等号?
    8.7.8 ラムダ式のさまざまなバリエーション
    9.7.9 ジェネリックメソッドと型推論
    10.7.10 オーバーロードの解決/値型と参照型の相違は何か?/練習問題
 
インデックス・ページヘ  「[完全版]究極の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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間