Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

"{", "}"(ブレース)で変数のスコープを限定する

C#では"{", "}"(ブレース)で変数のスコープを限定できます。
こんな風に使えます。

using System;

namespace ConsoleApplication {
    class Program {
        static void Main(string[] args)
        {
            {
                string hoge = "hoge1";
                Console.WriteLine(hoge);
            }
            {
                string hoge = "hoge2";
                Console.WriteLine(hoge);
            }
        }
    }
}

これでもう、

変数名を重複させないようにしたり、

using System;

namespace ConsoleApplication {
    class Program {
        static void Main(string[] args) {
            string hoge1 = "hoge1";
            Console.WriteLine(hoge1);

            string hoge2 = "hoge2";
            Console.WriteLine(hoge2);
        }
    }
}

変数を使いまわしたり、

using System;

namespace ConsoleApplication {
    class Program {
        static void Main(string[] args) {
            string hoge = "hoge1";
            Console.WriteLine(hoge);

            hoge = "hoge2";
            Console.WriteLine(hoge);
        }
    }
}

する必要はありません。
残念ながらVBにはこの機能はありません。