Переменная, объявленная в цикле for, является локальной переменной?

Я использую C # довольно долгое время, но так и не понял следующего:

 public static void Main()
 {
     for (int i = 0; i < 5; i++)
     {

     }

     int i = 4;  //cannot declare as 'i' is declared in child scope                
     int A = i;  //cannot assign as 'i' does not exist in this context
 }

Так почему я не могу использовать значение 'i' вне блока for если это не позволяет мне объявить переменную с таким именем?

Я думал, что переменная итератора, используемая циклом for, действительна только в своей области.

134
задан Jeff B 15 April 2015 в 18:39
поделиться