我有两个函数,一个可以编译,另一个不能。有什么不同?
函数编号 1 是否假设 case 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;
}
}
我当然尝试搜索“在 C# 中的 switch case 中声明变量”,但对我来说,它现在似乎是 C# 中的某种错误,保留下来是为了向后兼容。
// 在收到已经回答的警告后,我的问题现在可以简化为它的真正含义。
为什么:
int x;
x++;
这行不通?
手掌心
慕后森
相关分类