重複の可能性:
C#スイッチ変数の初期化:このコードがコンパイラエラーまたはランタイムエラーを引き起こさないのはなぜですか?
このswitchステートメント(驚いたことに、エラーなしでコンパイルおよび実行されます)では、変数somethingはケース2で宣言されておらず、ケース1は実行されません。これはどのように有効ですか?宣言せずに変数somethingを使用するにはどうすればよいですか?
switch(2){
case 1:
string something = "whatever";
break;
case 2:
something = "where??";
break;
}