Razlika između parametra ref i out u c #

ref (referentni) parametar

Parametar "ref" koristi se za prosljeđivanje vrijednosti s referencije iz stvarnog parametra u formalni parametar, tj. Iz metode callee u pozvanu metodu. U C #, parametar deklariran s modifikatorom ref je referentni parametar. Kad proslijedite parametre prema referenci, za razliku od parametara vrijednosti, nova lokacija se ne stvara za ovaj parametar. Sve promjene formalnog parametra odražavat će se u stvarnom parametru.

Primjer ref. Parametra
Kao što je prikazano u gornjem isječku programa, sve promjene učinjene u m, odražavat će se na n, kao što je parametar poslan referencom.

izlazni (izlazni) parametar

Izlazni parametar koristi se za vraćanje rezultata natrag u funkciju pozivanja. Ključna riječ 'out' koristi se za deklariranje parametra kao izlaznog parametra. Slično referentnom parametru, izlazni parametar ne stvara novo mjesto za pohranu. Umjesto toga, on postaje alias parametra u metodi pozivanja.

Primjer izvan parametra
U gornjem programu x je deklariran kao izlazni parametar u funkciji pozivanja i kao što vidite, x nije inicijaliziran. Kada se funkcija Square prekine, vrijednost q bit će kopirana u izlazni parametar x.

Razlika između parametra ref i out u C #

  1. U referentnom parametru promjene napravljene u formalnom parametru odražavaju stvarni parametar, dok se u vanjskom parametru vrijednost odražava natrag na izlazni parametar poziva funkcije.
  2. Stvarnom parametru 'izlaz' obično nije dodijeljena vrijednost dok stvarnom parametru deklariranom kao referenca uvijek treba dodijeliti vrijednost prije poziva.
    Bilješka: Morate dodijeliti vrijednost izlaznom parametru u tijelu metode; inače se metoda neće sastaviti.
  3. Parametri out i ref ne stvaraju novu memorijsku lokaciju.
  4. Parametri ref i out tretiraju se različito tijekom vremena izvođenja, ali tretiraju se isti tijekom vremena sastavljanja.
TO