Sobes.tech
Junior

Co je to rozsah (scoped) v C#?

sobes.tech AI

Odpověď od AI

Rozsah v jazyce C# určuje dostupnost proměnných, metod a typů v určité části programu. Jedná se o omezení toho, kde v kódu lze použít určitý identifikátor.

Hlavní oblasti rozsahu:

  • Blok kódu: Proměnné deklarované uvnitř složených závorek { } jsou dostupné pouze uvnitř tohoto bloku.
  • Rozsah metody: Proměnné a parametry deklarované uvnitř metody jsou dostupné pouze uvnitř této metody.
  • Rozsah třídy/struktury: Členové třídy nebo struktury (pole, vlastnosti, metody) jsou dostupné v závislosti na modifikátorech přístupu (public, private, protected, internal).
  • Rozsah prostoru jmen: Typy deklarované v prostoru jmen jsou dostupné v tomto prostoru jmen a v jiných prostorech jmen, kde je použit using.
  • Rozsah sestavení: Typy s modifikátorem internal jsou dostupné pouze uvnitř aktuálního sestavení.

Příklad rozsahu bloku kódu:

public void ExampleMethod()
{
    int x = 10; // x je dostupné pouze uvnitř metody ExampleMethod
    if (x > 5)
    {
        int y = 20; // y je dostupné pouze uvnitř bloku if
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // Chyba kompilace: y není dostupné zde
}