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