Почему в операторе switch C # для переменной, используемой в нескольких случаях, вы объявляете ее только в первом случае?
Например, следующее выдает ошибку «Локальная переменная с именем« переменная »уже определена в этой области».
switch (Type)
{
case Type.A:
string variable = "x";
break;
case Type.B:
string variable = "y";
break;
}
Однако, согласно логике, исходное объявление не должно выполняться, если тип Type.B
. Все ли переменные в операторе switch существуют в одной области видимости, и созданы ли они / распределены до обработки какой-либо логики?