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 не е достъпна тук
}