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

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

本ブログは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のインストール方法はこちらの動画を参照してください

オブジェクト指向の原則 単一責務の原則

C#を正しい3層構造で造れてますか?

非売品コースを受け取る

#00_はじめに
#01_単一責務の原則とは
#02_原則違反の例
#03_変更理由単位でクラスを分ける
#04_3層構造の例
#05_修正箇所を最小にできる
#06_修正する場所が明確になる
#07_共通化しましょうという話ではない
#08_少々悪いコードでも問題視しない理由
#09_探しやすいコード
#10_クラスは機能ごとに小さく作る
#11_小さなクラスがそれぞれに協調して目的を達成させる
#12_多数の部品群のなかから摘まんで作る
#13_クラスはどこまで小さくすればいいのか
#14_アンダーソン式単一責務の原則
#15_最小カプセルの検証_監視タイマークラス
#16_最小カプセルの検証_受注画面クラス
#17_最小カプセルの検証_ユーザークラス
#18_最小カプセルの検証_商品マスターデータアクセス
#19_登場人物に合わせたモデリングの四角と線
#20_四角と線を最小カプセル化する
#21_アンダーソン式手順
#22_パターンを見つけ出す
#23_プログラミングの自問
#24_さいごに

【参考図書】ピーコックアンダーソンが参考にした書籍一覧