メソッドの考え方

2018年12月8日

コード全体の見通しがよくなりますね。

これまで、Mainメソッドだけでプログラムを作成していた人は必見です。

まとまりのあるステートメントを抜き出してみましょう

Mainメソッドだけで作成した場合

コード

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("むかしむかし");
            Console.WriteLine("あるところに");
            Console.WriteLine("おじいさんと");
            Console.WriteLine("おばあさんが");
            Console.WriteLine("いました");

            int ageOjiisan = 70;
            Console.WriteLine($"おじいさんの年齢は{ageOjiisan}歳です");
        }
    }

結果

むかしむかし
あるところに
おじいさんと
おばあさんが
いました
おじいさんの年齢は70歳です

メソッドを分けた場合

コード

    class Program
    {
        static void Main(string[] args)
        {
            // ストーリーの部分が移動し、ここにリンクが貼られているイメージ
            ShowStory();

            int ageOjiisan = 70;
            Console.WriteLine($"おじいさんの年齢は{ageOjiisan}歳です");
        }

        // ShowStoryメソッド
        // ここにストーリーを移動
        static void ShowStory()
        {
            Console.WriteLine("むかしむかし");
            Console.WriteLine("あるところに");
            Console.WriteLine("おじいさんと");
            Console.WriteLine("おばあさんが");
            Console.WriteLine("いました");
        }
    }

結果

むかしむかし
あるところに
おじいさんと
おばあさんが
いました
おじいさんの年齢は70歳です

切り出し後のイメージ

どう変わったのでしょう?

Mainメソッドが短くなりましたね。

ストーリーを表示させる部分を

別にまとめて管理しているイメージです。

例えれば、ブラウザでリンク先にジャンプするように

Mainメソッドから、ShowStoryメソッドに実行が移動するのですね。

VisualStudioのヘルプ機能を使って、簡単にメソッドを分けることもできます。下のリンクも参考にしてください。

https://soft-rime.com/2018/12/08/%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89%e3%81%ae%e5%88%87%e3%82%8a%e5%87%ba%e3%81%97%e3%82%92%e6%a5%bd%e3%81%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95/

2018年12月8日C#

Posted by hidepon