请参阅下面的代码片段
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;
}
此处不支持上述代码变量隐藏。
这背后的原因是什么?