C# – スコープ

C#

C# の 変数の有効範囲の説明

変数の有効範囲のことをスコープ(scope)といいます。

ローカル変数

        static void Main(string[] args)
        {
            int a = 10;                // ローカル変数

            {
                int b = 20;            // ローカル変数
                Console.WriteLine(a);
                Console.WriteLine(b); 
            }

            Console.WriteLine(a);
            Console.WriteLine(b);       // エラー
        }

メソッド内で宣言した変数のことをローカル変数といい。ローカル変数の有効範囲は 宣言した ブロック内です。

{            
    int a;

    {
        int a;  // エラー
    }
}

宣言したブロック内、またはブロック内にあるブロック内で 同じ名前の 変数を宣言することはできません。

            {
                int a;
            }

            {
                int a;   // OK
            }

this

フィールドとローカル変数は同じ名前を付けることができます。ローカル変数と同じ名前のフィールドを参照する時は変数の前に「this」を付けます。

    class scope
    {
        int zoom = 1;                      // フィールド

        public void printzoom()
        {
            int zoom = 2;                  // ローカル変数
            Console.WriteLine(zoom);       // 2 : ローカル変数
            Console.WriteLine(this.zoom);  // 1 : フィールド
        }
    }

コメント

タイトルとURLをコピーしました