2020年11月01日
川俣晶の縁側ソフトウェアC# コーディング How To total 1629 count

【入門級】2つのメソッドで変数を共有する方法

Written By: 川俣 晶連絡先

 ローカル関数は親メソッドの変数を共有できます。

 親メソッドは複数のローカルメソッドから共有されますから、必然的に親メソッドの変数は複数のローカル関数から共有できます。

罠の数々 §

  • この機能はスローダウンの要因になるので、ローカル関数にstaticキーワードを付けて変数を共有しないことを明示的に宣言できる

参考リンク §

ローカル関数 (C# プログラミング ガイド)

 ローカル関数は、メソッドの内部以外のどこに記述できるか上記のリンクから辿って確認しておこう。ローカル関数を書ける場所はメソッドの内部だけではないのだ。

リポジトリ §

https://github.com/autumn009/cshowto

Capture §

using System;

class Program

{

    static void Main()

    {

        var a = 0;

        sub1();

        sub2();

        void sub1()

        {

            a = 1234;

        }

        void sub2()

        {

            Console.WriteLine(a);

        }

    }

}

実行結果

1234

COOL C# CREW

C#ハウツー連載の解説増量、カラーのソース、新規書き下ろし追加の読みやすい単行本はこちら。

C#ハウツー: 逆引き入門・こんな機能はどう書くの?