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
internaljsou 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
}