Назад к вопросам
Junior
322
questionbank

Что такое область видимости (scoped) в C#?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Область видимости в C# определяет доступность переменных, методов и типов в определенной части программы. Это ограничение на то, где в коде можно использовать определенный идентификатор.

Основные области видимости:

  • Блок кода (Block Scope): Переменные, объявленные внутри фигурных скобок { }, доступны только внутри этого блока.
  • Метод (Method Scope): Переменные и параметры, объявленные внутри метода, доступны только внутри этого метода.
  • Класс/Структура (Class/Struct Scope): Члены класса или структуры (поля, свойства, методы) доступны в зависимости от модификаторов доступа (public, private, protected, internal).
  • Пространство имен (Namespace Scope): Типы, объявленные в пространстве имен, доступны в этом пространстве имен и в других пространствах имен, где использовано using.
  • Сборка (Assembly Scope): Типы с модификатором internal доступны только внутри текущей сборки.

Пример области видимости блока кода:

public void ExampleMethod()
{
    int x = 10; // x доступна только внутри ExampleMethod
    if (x > 5)
    {
        int y = 20; // y доступна только внутри блока if
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // Ошибка компиляции: y недоступна здесь
}