Sobes.tech
Junior

Mis on ulatus (scoped) C#-s?

sobes.tech AI

Vastus AI-lt

C#-s määrab nähtavususe ulatuse, mis määrab muutujate, meetodite ja tüüpide kättesaadavuse programmi osas. See on piirang, kus koodis saab kasutada kindlat identifikaatorit.

Peamised nähtavuse ulatuse valdkonnad:

  • Koodiplokk: Sulgudes { } deklareeritud muutujad on saadaval ainult selle ploki sees.
  • Meetodi ulatus: Meetodi sees deklareeritud muutujad ja parameetrid on saadaval ainult selles meetodis.
  • Klassi/struktuuri ulatus: Klass või struktuuri liikmed (väljad, omadused, meetodid) on kättesaadavad sõltuvalt juurdepääsmodifikatsioonidest (public, private, protected, internal).
  • Nimepaiga ulatus: Nimepaigas deklareeritud tüübid on saadaval selles nimepaigas ja teistes nimepaikades, kus kasutatakse using.
  • Kogumi (Assembly) ulatus: Tüübid koos internal modifikatoriga on saadaval ainult praeguses kogumis.

Näide koodiploki nähtavuse ulatuse kohta:

public void ExampleMethod()
{
    int x = 10; // x on saadaval ainult `ExampleMethod` sees
    if (x > 5)
    {
        int y = 20; // y on saadaval ainult `if` ploki sees
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // Kompileerimisviga: y ei ole saadaval siin
}