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

В C# область видимости переменной определяет её видимость и время жизни.

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

Ниже приведены некоторые основные правила об области видимости переменных в C#:

Локальные переменные

Переменные, объявленные внутри блоков кода, таких как методы, циклы и условные операторы, являются локальными переменными; они видны только внутри блока кода, в котором они объявлены.

Пример

void MyMethod()
{
    int localVar = 10; // локальная переменная
    // ...
}
// localVar здесь не видна

Область видимости на уровне блока

В C# 7 и более поздних версиях была введена область видимости на уровне блока, что означает, что любой блок, созданный с помощью фигурных скобок{}, может определять область видимости переменной.

Пример

{
    int blockVar = 20; // Область видимости блока
    // ...
}
// blockVar здесь не видна

Область видимости параметров метода

Параметры метода также имеют собственную область видимости; они видимы во всём методе.

Пример

void MyMethod(int parameter)
{
    // parameter виден во всём методе
    // ...
}

Глобальные переменные

Переменные, определённые на уровне членов класса, являются переменными-членами; они видимы во всём классе. Если они определены на уровне пространства имён, они видимы во всём пространстве имён.

Пример

class MyClass
{
    int memberVar = 30; // Переменная-член, видима во всём классе
}

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

Статические переменные объявляются на уровне класса, но их область видимости также ограничена классом, в котором они определены.

Пример

class MyClass
{
    static int staticVar = 40; // Статическая переменная, видима во всём классе
}

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

Переменные цикла, объявленные в цикле for, видимы внутри тела цикла.

。

Пример

for (int i = 0; i < 5; i++)
{
    // i видна внутри тела цикла
}
// i здесь не видно

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

Другие расширения