Sobes.tech
Junior — Middle

Ինչպե՞ս է իրականացվում տվյալների փոխանցումը ֆունկցիայի կամ մեթոդի ներսում։

sobes.tech AI

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

C#-ում տվյալների փոխանցումը ֆունկցիային կամ մեթոդին կարող է կատարվել մի քանի եղանակով՝

  • Արժեքով (by value) — փոխանցվող արգումենտի արժեքը պատճենվում է։ Մեթոդի ներսում փոփոխությունները չեն ազդում սկզբնական տվյալների վրա։
  • Հղումով (ref) — փոխանցվում է փոփոխականի հղումը, փոփոխությունները մեթոդի ներսում արտացոլվում են սկզբնաղբյուրի վրա։
  • Ելքային պարամետր (out) — օգտագործվում է տվյալներ վերադարձնելու համար մեթոդից՝ կանչող կոդին, փոփոխականը նախքան կանչելը պարտադիր չէ լինի սկզբնական։
  • in բանալի բառով պարամետրեր — փոխանցում հղումով, բայց միայն ընթերցանության համար մեթոդի ներսում։

Օրինակ՝

void UpdateValue(ref int x) {
    x = 10; // փոփոխում է փոխանցված փոփոխականի արժեքը հղումով
}

int a = 5;
UpdateValue(ref a);
// հիմա a == 10