考虑以下两个带括号的片段:
switch (var) {
case FOO: {
x = x + 1;
break;
}
case BAR: {
y = y + 1;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
没有括号:
switch (var) {
case FOO:
x = x + 1;
break;
case BAR:
y = y + 1;
break;
}
Run Code Online (Sandbox Code Playgroud)
我知道,在带括号的代码段中,通过将每个案例括在大括号中来创建一个新的范围.但是,如果每个案例都不需要新范围(即没有重用变量名称),那么在案例中使用大括号是否存在任何性能损失?
我对这件事很好奇......见例子:
switch(x)
{
case(a):
{
//do stuff
}
break;
case(b):
//do stuff
break;
}
Run Code Online (Sandbox Code Playgroud)
我的一生都像case b那样做了,但是因为C#允许我使用它,而Visual Studio允许我崩溃那个东西,我很好奇 - 案例a(带括号)和案例b之间的真正区别是什么?