Локальная область – участок кода, внутри класса или блок, который ограничен фигурными скобками
{ }.
Область видимости переменной – часть текста программы, в которой имя можно явно использовать. Чаще всего область видимости совпадает с областью действия.
Переменная созданная внутри локальной области называется локальной переменной, область ее действия – от открывающей скобки локальной области (‘{‘) до ее окончания (закрывающей скобки ‘}’) блока, включая все вложенные локальные области.
Переменная уровня класса называется глобальной переменной или полем.
Правила работы с областями видимости:
- В коде можно создавать локальные области и в двух разных локальных областях хранить одноименные переменные.
- Если в коде имеются локальные области, то запрещается хранить одноименные переменные за пределами локальных областей. И наоборот, если за пределами локальных областей уже созданы переменные с каким-то именем, то в локальных областях этого уровня запрещается создавать одноименные переменные.
- В локальных областях можно обращаться к переменным их глобальных областей, но не наоборот.
Пример:
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. ПЕРЕМЕННЫЕ И ТИПЫ ДАННЫХ"