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

C#でラムダ式を書く方法 #04_ラムダなしで実装_共通関数

前回はラムダ式とは関係ない,普通の文法で,string配列から,3文字以上の文字列を取得するコードを書きました。ここから徐々にラムダ式を目指していきますが,今回は,共通関数化を行います。3文字以上の文字列を取得するロジックの部分をメソッド化するということです。これがラムダ式とどういう関係があるのかと感じる方もいるでしょうが,1つずつ整理して考えていく必要があるので,信じてついてきてください。

メソッドの作成

それでは,前回3文字以上の文字列を取得したforeachのロジック部分をメソッド化します。次のようにメソッドを追記してください。

前回記述した,resultの生成部分とforeachの部分を抜き出して,resultを返却しています。resultはListで戻り値はstring配列にしているので,result.ToArray()としています。

メソッドの呼び出し部分を追加

先ほど記述したbutton1_Clickの最後にGetValue1メソッドの呼び出しと,その結果を出力するコードを記述します。

これで,前回の結果を出力後,今回の共通関数化の結果も出力されることになります。

実行

この状態で実行し,button1を押下して,出力ウィンドウの実行結果を確認します。

2行出力され,同じ結果が出力されることが確認できると思います。今回は前回作成したロジックをメソッド化しただけなので,同じ結果になって当然ですね。ここまでは当然の結果なのですが,今後のラムダ式のもとになる部分を段階的に解説しているので,もう少し辛抱してついてきてください。

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

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_さいごに

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