Я читаю некоторый текст C # относительно области видимости переменных и получил некоторую путаницу:
Случай 1:
class A
{
void F() {
i = 1;
}
int i = 0;
}
Случай 2
class A
{
void F()
{
i = 1; // Error, use precedes declaration
int i = 0;
}
}
в обоих case 1
и 2
, переменная i
используется до того, как она объявлена и инициализирована, но почему в случае 2 произошла ошибка?(Я прочитал объяснение, потому что я - глобальная переменная в случае 1, но все же хочу знать, есть ли другое объяснение)