Sobes.tech
Junior

Какво е обхват (scoped) в C#?

sobes.tech AI

Отговор от AI

Областта на видимост в C# определя достъпността на променливи, методи и типове в определена част от програмата. Това е ограничение за това къде в кода може да се използва даден идентификатор.

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

  • Блок код: Променливите, обявени вътре в фигурните скоби { }, са достъпни само вътре в този блок.
  • Обхват на метода: Променливите и параметрите, обявени вътре в метод, са достъпни само вътре в този метод.
  • Обхват на класа/структурата: Членовете на класа или структурата (поля, свойства, методи) са достъпни в зависимост от модификаторите за достъп (public, private, protected, internal).
  • Обхват на пространството от имена: Типовете, обявени в пространство от имена, са достъпни в това пространство и в други пространства, където е използвано using.
  • Обхват на асембли: Типовете с модификатор internal са достъпни само в текущото асембли.

Пример за обхват на блок код:

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