0
我很困惑为什么会出现编译器错误CS0136“本地或名为'a'的参数不能在此作用域中声明,因为该名称在封闭的本地作用域中用于定义本地或参数“在那种循环? 是不是第一个a封闭在循环内?循环中的局部范围矛盾
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
int a = 0;
}
int a = 1;
}
如果不是,为什么会出现编译错误CS0841不能使用局部变量“B”正是在这样的变型
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
int a = b;
}
int b = 1;
}
宣布之前有没有在这里任何矛盾,这是为什么限制由对于?
你可以肯定地使用'另一个作用域块内只了'后(附上这里面'{} ')。我有时候这样做是为了避免命名不同的东西,比如'item'。 – Sinatr
@Sinatr我也发现了,谢谢。 –