Rozdiel medzi parametrom ref a out v c #

ref (referenčný) parameter

Parameter „ref“ sa používa na odovzdanie hodnoty odkazom z aktuálneho parametra na formálny parameter, t. J. Z metódy callee na volanú metódu. V C # je parameter deklarovaný modifikátorom „ref“ referenčným parametrom. Keď odovzdáte parametre odkazom, na rozdiel od hodnotových parametrov sa pre tento parameter nevytvorí nové umiestnenie. Akékoľvek zmeny formálneho parametra sa prejavia v skutočnom parametri.

Príklad referenčného parametra
Ako je uvedené vo vyššie uvedenom úryvku programu, všetky zmeny vykonané v m sa prejavia na n, pretože parameter sa odovzdáva odkazom.

výstupný (výstupný) parameter

Výstupný parameter sa používa na odovzdanie výsledku späť volajúcej funkcii. Kľúčové slovo „out“ sa používa na deklarovanie parametra ako výstupného parametra. Podobne ako referenčný parameter nevytvára výstupný parameter nové umiestnenie úložiska. Namiesto toho sa stáva aliasom parametra vo volajúcej metóde.

Príklad parametra out
Vo vyššie uvedenom programe je x deklarované ako parameter out vo volacej funkcii a ako vidíte, x nebolo inicializované. Keď funkcia Square skončí, hodnota q sa skopíruje do výstupného parametra x.

Rozdiel medzi parametrom ref a out v C #

  1. V referenčnom parametri zmeny vykonané vo formálnom parametri odrážajú skutočný parameter, zatiaľ čo v parametri out sa hodnota odráža späť na parameter out volajúcej funkcie..
  2. Skutočnému parametru „output“ sa zvyčajne nepriradí hodnota, zatiaľ čo skutočnému parametru deklarovanému ako referencia by sa mala vždy priradiť hodnota pred volaním.
    Poznámka: Musíte priradiť hodnotu parametru out v tele metódy; inak nebude metóda skompilovaná.
  3. Parametre out aj ref nevytvárajú nové umiestnenie v pamäti.
  4. Parametre ref a out sa v čase behu spracovávajú odlišne, ale pri kompilácii sa s nimi zaobchádza rovnako.
IT