У меня есть две функции, их можно скомпилировать, а другую - нет. В чем разница?
Означает ли функция номер 1, что случай 1 всегда будет удален, или это просто проблема с компилятором?
public void Test(int x)
{
switch (x)
{
case 1:
uint cId = (uint)3;
break;
case 2:
cId = (uint)5; //NO ERROR HERE. WHY?
break;
}
}
public void DeclaringInsideSwitch(int x)
{
uint tst = 0;
switch (x)
{
case 1:
int y = 3;
uint variable = tst;
break;
case 2:
variable++; //ERROR HERE. WHY?
break;
}
}
Я, конечно же, искал "Объявлять переменные внутри случая переключения в С#", но для меня это просто похоже на некоторую ошибку в С#, теперь сохраненную для обратной совместимости.
//Получив предупреждение о том, что он уже был дан ответ, мой вопрос теперь может быть сведен к тому, о чем он идет.
Зачем:
int x;
x++;
не работает ли это?