Sobes.tech
Junior

Ի՞նչ է տեսադաշտը (scoped) C#-ում։

sobes.tech AI

Պատասխան AI-ից

C#-ում տեսանելիության դաշտը որոշում է փոփոխականների, մեթոդների և տիպերի հասանելիությունը ծրագրի որոշ մասում: Դա սահմանափակում է այն վայրերը, որտեղ կոդում կարող է օգտագործվել որոշակի նույնականիչ:

Հիմնական տեսանելիության դաշտերը՝

  • Կոդի բլոկ (Block Scope): { } փակագծերի ներսում հայտարարված փոփոխականները հասանելի են միայն այդ բլոկի ներսում:
  • Մեթոդի դաշտ (Method Scope): Մեթոդի ներսում հայտարարված փոփոխականներն ու պարամետրերը հասանելի են միայն այդ մեթոդի ներսում:
  • Սինֆ/ստրուկտուրայի դաշտ (Class/Struct Scope): Սինֆ կամ ստրուկտուրայի անդամները (գոտիներ, հատկություններ, մեթոդներ) հասանելի են՝ կախված մոդիֆիկատորներից (public, private, protected, internal):
  • Անվանումների տարածք (Namespace Scope): Անվանումների տարածքում հայտարարված տիպերը հասանելի են այդ տարածքում և այլ տարածքներում, որտեղ օգտագործվում է using:
  • Ամսբլեայի դաշտ (Assembly Scope): internal մոդիֆիկատորով տիպերը հասանելի են միայն ընթացիկ ամսբլեայում:

Օրինակ՝ կոդի բլոկի տեսանելիության դաշտի օրինակ՝

public void ExampleMethod()
{
    int x = 10; // x հասանելի է միայն ExampleMethod-ի ներսում
    if (x > 5)
    {
        int y = 20; // y հասանելի է միայն if բլոկի ներսում
        Console.WriteLine(y);
    }
    // Console.WriteLine(y); // սխալ՝ y հասանելի չէ այստեղ
}