スキップしてメイン コンテンツに移動

メソッドの中にメソッドを定義できた

メソッドの中にメソッドを定義できるのを最近知った。ローカルメソッド?

以下のように、doTestメソッドの中に、debugPrintメソッドが定義できる。これなら、このメソッドの中でしか使わないメソッドをきれいに定義できる。

        void doTest()
        {
            /// メソッドの中にメソッドを定義できる
            void debugPrint(int n)
            {
                System.Diagnostics.Debug.Print($"#debug: {n}");
            }

            for (int i = 0; i < 10; i++)
            {
                debugPrint(i);
            }
        }

いつからできるようになったのだろう。

以前にこんな記事を書いていた。
https://nonbiri-dotnet.blogspot.jp/2017/02/blog-post.html

ローカル関数と云う機能でC#7.0から導入されたらしい。
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/local-functions

コメント

このブログの人気の投稿

SQLでは文字列の前に「N」が必要だ

SQLServerのテーブルにテキストを登録したら一部の文字が文字化けした。環境依存文字だと化けるみたい。

コンボボックスのDataSourceプロパティの使い方

コンボボックスに表示するデータを設定するのを簡単にする工夫をまとめます。コンボボックスのDataSourceプロパティを上手に使いましょう。(2017/8/30追記)