Урок 3. Области видимости

Локальная область – участок кода, внутри класса или блок, который ограничен фигурными скобками
{ }.

Область видимости переменной – часть текста программы, в которой имя можно явно использовать. Чаще всего область видимости совпадает с областью действия.

Переменная созданная внутри локальной области называется локальной переменной, область ее действия – от открывающей скобки локальной области (‘{‘) до ее окончания (закрывающей скобки ‘}’) блока, включая все вложенные локальные области.

Переменная уровня класса называется глобальной переменной или полем.

Правила работы с областями видимости:

  1. В коде можно создавать локальные области и в двух разных локальных областях хранить одноименные переменные.
  2. Если в коде имеются локальные области, то запрещается хранить одноименные переменные за пределами локальных областей. И наоборот, если за пределами локальных областей уже созданы переменные с каким-то именем, то в локальных областях этого уровня запрещается создавать одноименные переменные.
  3. В локальных областях можно обращаться к переменным их глобальных областей, но не наоборот.

Пример:

class Program
{
    int field = 20;     // переменная уровня класса
    
    static void Main()
    // Глобальная область относительно «Локальной области 1» и «Локальной области 2»
    {

        int b = 42;
        
        // Локальная область 1
        {
            b++;			// ПРАВИЛО №3
            int a = 1;		// ПРАВИЛО №1
            Console.WriteLine(a);
        }
       
        // Локальная область 2
        {
            int a = 2;		// ПРАВИЛО №1
            Console.WriteLine(a);
        }
        Console.Write(b);		// Выведет 43
        
        // ПРАВИЛО №3
	 //Console.WriteLine(a); 	// ОШИБКА: Переменной с именем a не существует в данной локальной области.

        // ПРАВИЛО №2
        //int a = 3; // ОШИБКА: Переменная с таким именем уже существует в локальной области.

        // Delay.
        Console.ReadKey();
    }
}

Пример локальных областей из жизни:

Представьте себе две комнаты (Локальная область 1 и Локальная область 2) в каждой из этих комнат находится человек (красный и зелёный соответственно) – ассоциируем их с переменными. Они друг друга не видят, ведь им мешают стены. Прийти к другому в гости они не могут из-за следующего правила: люди (переменные) не могут покинуть пределы своих комнат (локальных областей). Соответственно красный и зелёный человек взаимодействовать между собой не могут.

Две комнаты между собой соединены через коридор (Глобальную область) в котором также находится человек (синий). Он может открытые двери увидеть как красного, так и зелёного человека (они тоже могут его видеть), также они могут взаимодействовать между собой (ведь никто не запрещает синему человеку посетить комнату зелёного или красного: их локальные области находятся в его локальной области).

Источник: видеоурок Александра Шевчука "ВИДЕОУРОК №3. ПЕРЕМЕННЫЕ И ТИПЫ ДАННЫХ"

%D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BB%D0%B5%D0%B2%D0%BE%202 предыдущая статья | следующая статья %D1%81%D1%82%D1%80%D0%B5%D0%BB%D0%BA%D0%B0%20%D0%B2%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%202