Sobes.tech
Junior

Čo je to rozsah (scoped) v C#?

sobes.tech AI

Odpoveď od AI

Rozsah v jazyku C# určuje dostupnosť premenných, metód a typov v určitej časti programu. Ide o obmedzenie toho, kde v kóde je možné použiť určitý identifikátor.

Hlavné oblasti rozsahu:

  • Blok kódu: Premenné deklarované vnútri zátvoriek { } sú dostupné iba v tomto bloku.
  • Rozsah metódy: Premenné a parametre deklarované vnútri metódy sú dostupné iba v tejto metóde.
  • Rozsah triedy/štruktúry: Členovia triedy alebo štruktúry (polia, vlastnosti, metódy) sú dostupné v závislosti od modifikátorov prístupu (public, private, protected, internal).
  • Rozsah priestoru názvov: Typy deklarované v priestore názvov sú dostupné v tomto priestore a v iných priestoroch názvov, kde je použitý using.
  • Rozsah zostavy: Typy s modifikátorom internal sú dostupné iba v rámci aktuálnej zostavy.

Príklad rozsahu bloku kódu:

public void ExampleMethod()
{
    int x = 10; // x je dostupná iba vnútri metódy ExampleMethod
    if (x > 5)
    {
        int y = 20; // y je dostupná iba vnútri bloku if
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // Chyba kompilácie: y nie je dostupná tu
}