Sobes.tech
Junior — Middle

Ako sa vykonáva prenos dát vo vnútri funkcie alebo metódy?

sobes.tech AI

Odpoveď od AI

V jazyku C# môže byť prenos dát do funkcie alebo metódy vykonaný rôznymi spôsobmi:

  • Podľa hodnoty (by value) — kopíruje sa hodnota argumentu. Zmeny vnútri metódy neovplyvnia pôvodné údaje.
  • Podľa odkazu (ref) — odkaz na premennú je odovzdaný, zmeny vnútri metódy sa prejavia na origináli.
  • Výstupný parameter (out) — používa sa na vrátenie údajov z metódy späť volajúcemu kódu, premenná nemusí byť pred volaním inicializovaná.
  • Parametre so slovom kľúčom in — prenos odkazom, ale iba na čítanie vnútri metódy.

Príklad:

void UpdateValue(ref int x) {
    x = 10; // zmení hodnotu premennej odovzdanej odkazom
}

int a = 5;
UpdateValue(ref a);
// teraz a == 10