有没有理由我错过了case语句中的块不被视为块级声明空间?
我尝试时不断收到错误(变量已经声明)
case x:
var someVariable = 42;
break;
case y:
var someVariable = 40;
break;
Run Code Online (Sandbox Code Playgroud)
但我能做到
case x:
try{var someVariable = 42;}catch{}
break;
case y:
try{var someVariable = 40;}catch{}
break;
Run Code Online (Sandbox Code Playgroud)
如果C#允许通过语句,那就没有意义,但事实并非如此,我想不出你可以在case语句中声明变量并在该块之外使用它的场景.