if(true)
{
string var = "VAR";
}
string var = "New VAR!";
Это приведет к:
Ошибка 1 Локальная переменная с именем "var" не могут быть объявлены в этой области потому что это даст другое значение "var", которое уже используется в "детской" области для обозначения что-то еще.
Ничто не разрушает землю, но разве это просто неправильно? Мы с разработчиком и разработчиком интересовались, должна ли первая декларация быть в другой области, поэтому вторая декларация не может помешать первой декларации.
Почему С# не может отличить две области? Должна ли первая область IF не полностью отделяться от остальной части метода?
Я не могу вызывать var извне if, поэтому сообщение об ошибке неверно, потому что первый var не имеет значения во второй области.