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