Dlaczego w instrukcji przełącznika C# dla zmiennej używanej w wielu przypadkach deklaruje się ją tylko w pierwszym przypadku?Deklaracja zmiennych w oświadczeniu przełącznika C#
Na przykład poniższy komunikat zgłasza błąd "Zmienna lokalna o nazwie" zmienna "jest już zdefiniowana w tym zakresie".
switch (Type)
{
case Type.A:
string variable = "x";
break;
case Type.B:
string variable = "y";
break;
}
Jednak za logiką, wstępna deklaracja nie powinna być hit, jeśli typ jest Type.B
. Czy wszystkie zmienne w instrukcji zmiany istnieją w jednym zakresie i czy są tworzone/przydzielane przed przetworzeniem jakiejkolwiek logiki?
naprawdę brzydkie rzeczy jest to, że ludzie robią to: 'przełącznika (typ) {case Type.A: string variable = "x"; przerwa; case Type.B: variable = "y"; przerwa; } ' – giammin
@giammin: Proszę dopracować. – zazkapulsk
@zazkapulsk należy najpierw zadeklarować zmienną, a następnie użyć jej w przełączniku: 'string variable = null; switch (Type) {case Typ.A: variable = "x"; przerwa; case Type.B: variable = "y"; przerwa; } ' – giammin