Razlika med parametrom ref in out v c #

ref (referenčni) parameter

Parameter „ref“ se uporablja za prenos vrednosti glede na dejanski parameter na formalni parameter, tj. Iz metode callee v imenovano metodo. V C # je parameter, deklariran z modifikatorjem ref, referenčni parameter. Ko posredujete parametre referenčno, za razliko od parametrov vrednosti, za ta parameter ni ustvarjena nova lokacija. Vse spremembe formalnega parametra se bodo odražale v dejanskem parametru.

Primer parametra ref
Kot je prikazano v zgornjem odseku programa, se bodo vse spremembe, ki so bile opravljene v m, odrazile na n, ko bo parameter posredoval referenco.

parameter (izhod)

Izhodni parameter se uporablja za vrnitev rezultata nazaj v klicno funkcijo. Ključna beseda 'out' se uporablja za razglasitev parametra kot izhodnega parametra. Podobno kot referenčni parameter, izhodni parameter ne ustvari nove lokacije za shranjevanje. Namesto tega postane vzdevek parametra v klicni metodi.

Primer zunaj Parameter
V zgornjem programu je x označen kot zunanji parameter v klicni funkciji in kot vidite, x ni bil inicializiran. Ko funkcija Square preneha, se vrednost q kopira na izhodni parameter x.

Razlika med parametrom ref in out v C #

  1. V referenčnem parametru spremembe formalnega parametra odražajo dejanski parameter, medtem ko se vrednost zunaj parametra odraža nazaj v izhodni parameter klicne funkcije.
  2. Dejanskemu parametru 'output' ponavadi ni dodeljena vrednost, dejanskemu parametru, deklariranemu kot referenca, pa mora biti vedno pred dodelitvijo dodeljena vrednost.
    Opomba: Parametru out morate dodeliti vrednost v telesu metode; sicer metoda ne bo sestavljena.
  3. Parametri tako zunaj kot ref. Ne ustvarjajo nove lokacije v pomnilniku.
  4. Parametri ref in out se med časom izvajanja različno obravnavajo, vendar se ob prevajalnem času obravnavajo enako.
IT