C#でラムダ式を書く方法 #01_はじめに

当サイトではアフィリエイト広告を利用しています。

C#でラムダ式を書く方法1

本ブログはC#のラムダ式の書き方を解説しています。

私はUdemyという学習用プラットフォームでC#の文法やオブジェクト思考,ドメイン駆動開発手法などを解説しているのですが,その中でもラムダ式の書き方がよくわからないという意見が結構ありました。おすすめの本を紹介するなど対応していましたが,わかりやすいラムダ式のコースを作成してほしいという意見があったため,本ブログを作成しました。正確にはUdemyという学習用プラットフォームにて動画コースを作成し,本書はそれのブログ版ということになります。

動画で学びたいという方は,こちらからご覧ください。

C#でラムダ式を書く方法Part1【基礎編】

If文などのオーソドックスな文法に比べて,ラムダ式はちょっと特殊です。特にゴーズトゥといわれる「=>」こういったキーワードが使われます。普通の「イコール」と「大なり」みたいな感じですね。こういった文法が突如「products.Find(x => x.ProductId == 2)」こんな感じで出てきます。C#のバージョン3.0より登場したのですが,最初に見たときは,理解できないですよね。もちろん私もそうでした。こういった文法は頭の良い人や,プログラミングに慣れている人にはあまり抵抗がなく理解できるのかもしれませんが,すぐに理解できない人も多いと思います。私もいろいろと本を読んだり,動画を見たりして理解したので,それを少しでもわかりやすくお伝えしたいと思います。

ラムダ式が理解しづらい原因は,ラムダ式以外の前提知識がないと理解できないことだと思います。ラムダ式は前述のとおりC#の3.0で登場しましたが,その背景には,C#1.0から存在するdelegate(デリゲート)や,2.0で登場したPredicate(プレディケート)の知識がないと理解できないのですが,そもそもこのdelegate(デリゲート)自体の文法が少し難しいというか,理解しづらい文法でもあるので,最初はそのあたりから理解してPredicate(プレディケート)に進み,さらにはC#3.0で登場した,Action(アクション)やFunc(ファンク)について理解することを通じて,ラムダ式というものが理解できると思います。なので,本書では,少し遠回りに感じるかもしれませんが,delegate(デリゲート)のあたりから,じっくりと解説していきます。ただ,そのあたりからじっくり学ぶことで,最初はじれったい感じがするかもしれませんが,突然ラムダ式を理解できる瞬間を感じてもらえると思うので,ラムダ式があまり理解できていない気がする方は,信じて最後までついてきてもらえれば,苦手意識のある文法がなくなる感動を感じでもらえると思うので,是非楽しみながら読んでいただきたいと思います。

本書はWindows10上で動作するVisualStudio2019のC#にてサンプルプログラミングを行いながら解説しています。VisualStudio2022やVisualStudio2017,VisualStudio2015あたりでも同様の動作をすると思いますが,バージョン違いによるキャプチャー画面の違いなどは,考慮しながら読んでいただきたく思います。

また,ラムダ式が存在しないVisualStudio2005などでは動作しませんので最低でもVisualStudio2008以上を使っていただく必要がありますが,家で学習する際は,最新のVisualStudioが無料でダウンロードできるので,そちらを使用してください。皆さんが本書を読むころはVisualStudio2022やもっと新しいバージョンかもしれませんが,おそらく問題ないでしょう。

VisualStudio2022のインストール方法はこちらの動画を参照してください