1
范围冲突请参见下面代码片段
为字段&局部变量
class scopes
{
static int j=20;
Console.WriteLine(j);
public static void Main()
{
int j=30;
Console.WriteLine(j);
return;
}
}
对于上面的代码,变量隐藏被支撑
见下文代码
public static int Main()
{
int j = 20;
for (int i=0; i < 10; i++)
{
int j = 30; //can't do this
Console.WriteLine(j + i);
}
return 0;
}
这里上面的代码变量隐藏是不支持。
这背后的原因是什么?
你的第一个例子不能编译,无论是。 – Rawling
'Console.WriteLine(j);'在第一个例子中是我猜的错字。 –
轻微术语的事情 - 如果你只好打电话给第一个例子(即编译一个)的名字,想必这将是* *外地躲藏,没有*变量*隐藏;在*变量*就不会被挡住... –