可能重复:
为什么不能在嵌套的局部范围内声明重复的变量名?
大家好,今天我发现了一个问题,我不确定:
我认为下面的例子应该是正确的,因为大括号创建了一个新的局部区域,所以我不能访问大括号之后的第一个 x,我应该能够在右大括号之后创建一个同名的新变量。
{
int x = 0;
}
int x;
但是如果我尝试这个例子,我会得到错误:“不能在这个范围内声明一个局部变量名“x”,因为它会给“temp”赋予不同的含义,它已经在父范围或当前范围中用于表示别的东西。”
这在 C# 中真的不允许吗?这也可能是 ReSharper 7.0 或 Visual Studio 2012 的故障。
请不要提出不好的编码风格,这只是我对c#的基本理解。
谢谢你,美好的一天;)