Ero ref ja out -parametrien välillä c # ssä

ref (viite) parametri

”Ref” -parametria käytetään siirtämään arvo viittaamalla todellisesta parametrista muodolliseen parametriin, ts. Callee-menetelmästä kutsutulle menetelmälle. Kohdassa C # “ref” -muuntajalla ilmoitettu parametri on vertailuparametri. Kun ohitat parametrit viittauksella, toisin kuin arvoparametrejä, tälle parametrille ei luoda uutta sijaintia. Kaikki muodollisiin parametriin tehdyt muutokset heijastuvat todellisessa parametrissa.

Esimerkki ref-parametrista
Kuten yllä olevasta ohjelmakatkelmasta ilmenee, kaikki muutokset, jotka tehdään m: hen, heijastuvat arvoon n, koska parametri välitetään referenssillä.

out (Output) -parametri

Lähtöparametria käytetään siirtämään tulos takaisin kutsutoimintoon. 'out'-avainsanaa käytetään ilmoittamaan parametri Output-parametriksi. Samoin kuin viiteparametri, lähtöparametri ei luo uutta tallennuspaikkaa. Sen sijaan siitä tulee alias parametrille kutsutusmenetelmässä.

Esimerkki parametrista
Yllä olevassa ohjelmassa x julistetaan out-parametriksi kutsutoiminnossa ja kuten näette, x: ää ei ole alustettu. Kun Neliö-toiminto päättyy, q-arvo kopioidaan lähtöparametriin x.

Ero ref ja out -parametrien välillä C #: ssä

  1. Viiteparametrissa muodollisiin parametriin tehdyt muutokset heijastavat todellista parametria, kun taas parametrissa out, arvo heijastuu takaisin kutsuvan toiminnon out-parametriin..
  2. 'Lähdön' todelliselle parametrille ei yleensä määritetä arvoa, kun taas referenssiksi ilmoitetulle todelliselle parametrille tulisi aina antaa arvo ennen kutsumista.
    Huomautus: Sinun on annettava arvo metodin rungon out-parametrille; muuten menetelmää ei käännetä.
  3. Sekä out- että ref-parametrit eivät luo uutta muistin sijaintia.
  4. Ref- ja out-parametreja käsitellään eri tavalla ajon aikana, mutta niitä käsitellään samoina kokoamisaikana.
SE