default: throw new InvalidOperationException("out of range");- это эдакий "спасательный круг" на случай, если всё совсем плохо, верно?
Сергей, где работает? Компилятор строит дерево выполнения, и если видит ошибку он репорт из о ней.
int a=1;
int b;
switch(a){
case 1:
b=100;
Console.WriteLine ("изнутри "+b);
break;
}
Console.WriteLine ("снаружи "+b);
что за репл
почему вы думаете что какое то косячное поделие лучше компилятора?
Вы не думали что просто загрязняется окружение...?
... и ваша переменная таки инициализируются?