Читаем Интернет-журнал "Домашняя лаборатория", 2007 №9 полностью

На самом деле, ситуация с процедурным блоком в C# не так проста. Процедурный блок имеет сложную структуру; в него могут быть вложены другие блоки, связанные с операторами выбора, цикла и так далее. В каждом таком блоке, в свою очередь, допустимы вложения блоков. В каждом внутреннем блоке допустимы объявления переменных. Переменные, объявленные во внутренних блоках, локализованы именно в этих блоках, их область видимости и время жизни определяются этими блоками. Локальные переменные начинают существовать при достижении вычислений в блоке точки объявления и перестают существовать, когда процесс вычисления завершает выполнение операторов блока. Можно полагать, что для каждого такого блока выполняется так называемый пролог и эпилог. В прологе локальным переменным отводится память, в эпилоге память освобождается. Фактически ситуация сложнее, поскольку выделение памяти, а следовательно, и начало жизни переменной, объявленной в блоке, происходит не в момент входа в блок, а лишь тогда, когда достигается точка объявления локальной переменной.

Давайте обратимся к примеру. В класс Testing добавлен метод с именем Scopevar, вызываемый в процедуре Main. Вот код этого метода:

///

/// Анализ области видимости переменных ///

/// 

public void ScopeVar(int x)

{

      //int x=0;

      int у =77; string s = name;

      if (s=="Точка1")

      {

            int u = 5; int v = u+y; x +=1;

            Console.WriteLine("y= {0}; u={1};

               v={2}; x={3 } ", у, u,v,x);

       }

       else

       {

             int u= 7; int v= u+y;

             Console.WriteLine("y= {0}; u={1}; v={2}", y,u,v);

       }

       // Console.WriteLine("y= {0}; u={1}; v={2}",y,u,v);

       // Локальные переменные не могут быть статическими.

       // static int Count = 1;

       // Ошибка: использование sum до объявления

       // Console.WriteLine("х= {0}; sum ={1}", x,sum);

       int i;long sum =0;

Перейти на страницу:

Похожие книги

Гостиная
Гостиная

Эта книга предназначена для тех, кто хотел бы собственными руками обустроить свою гостиную, сделав ее уютной и удобной. Здесь вы найдете исчерпывающие советы по созданию гармоничного интерьера, удобному освещению, размещению ковров, цветов и картин, а также других мелочей, которые превратят вашу гостиную в комфортабельную комнату, удовлетворяющую потребностям каждого члена семьи.В этой книге также даны подробные рекомендации по ремонту гостиной, которые помогут осуществить задуманное вами преобразование. Методы, описанные здесь, вполне доступны каждому. Надеемся, что эта книга поможет вам подойти к обустройству гостиной творчески, а ремонтные работы доставят истинное удовольствие.

Линиза Жалпанова , Линиза Жувановна Жалпанова , Наталья Михайловна Сухинина , Наталья Сухинина

Сделай сам / Дом и досуг