Область видимости переменной в C #

Я читаю C # Beginning, чтобы освежить свою память на C # (фон в C ++).

Я наткнулся на этот фрагмент в книге:

int i;
string text;
for (i = 0; i < 10; i++)
{
   text = "Line " + Convert.ToString(i);
   Console.WriteLine("{0}", text);
}
Console.WriteLine("Last text output in loop: {0}", text);

Выше приведен фрагмент не будет компилироваться - потому что, согласно книге, переменная text не инициализируется (только инициализируется в цикле), а последнее назначенное ей значение теряется при выходе из блока цикла.

Я не могу понять, почему значение, присвоенное значению L, теряется только потому, что область, в которой было создано значение R, была закрыта - даже если значение L все еще находится в области.

Может кто-нибудь объяснить, почему текст переменной теряет значение, назначенное в цикле ?.

6
задан atamanroman 2 September 2010 в 10:27
поделиться