Ero pois ja ref n välillä C # ssä

Avainero - ulos vs ref C: ssä #
 

C # on Microsoftin kehittämä moderni ohjelmointikieli. Sitä käytetään erilaisten sovellusten kehittämiseen työpöydälle, webille ja mobiililaitteille. Toiminnot tai menetelmät ovat käsite ohjelmoinnissa. Se lauseiden ryhmä, jota käytetään tietyn tehtävän suorittamiseen, tunnetaan funktiona tai menetelmänä. C # -ohjelmissa suoritus alkaa main (): sta. Se on esimerkki menetelmästä. Kun menetelmää kutsutaan, data siirretään menetelmälle tai vastaanotetaan menetelmästä. Menetelmä, joka kutsuu uutta menetelmää, tunnetaan nimellä menetelmän kutsuminen. Uusi menetelmä tunnetaan nimellä kutsutaan menetelmäksi. C # käyttää parametrejä hallitsemaan läpäiseviä arvoja ja saamaan tuloksen. Ne ovat arvostettuja parametreja, lähtöparametreja ja viiteparametreja. Arvoparametreja käytetään parametrien siirtämiseen menetelmään arvon perusteella. Referenssiparametreja käytetään parametrien siirtämiseen menetelmälle vertailuna. Lähtöparametreja käytetään tuloksen siirtämiseen takaisin menetelmästä. C #: ssä avainsanaa käytetään lähtöparametreihin ja ref-avainsanaa käytetään viittaamaan parametreihin. avainero välinen ja ref välillä C # on, että, out on avainsana, jota käytetään viittaamaan lähtöparametriin, jota käytetään siirtämään kutsutun menetelmän tulokset kutsutusmenetelmään, kun taas ref on avainsana, joka viittaa referenssiparametriin, jota käytetään siirtämään tietoja kutsutusmenetelmästä kutsuttuun menetelmään ja vastaanottamaan data kutsutusta menetelmästä kutsuvaan menetelmään.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mikä on C #: n ulkopuolella
3. Mikä on viite C #: ssä
4. Samankaltaisuuksia ref: n ja ref: n välillä C #: ssä
5. Vertailu rinnakkain - tulokset vs ref taulukossa C #
6. Yhteenveto

Mikä on C #: n ulkopuolella?

Funktion tai menetelmän syntaksi on seuraava. Menetelmässä on useita elementtejä, kuten menetelmän nimi, parametriluettelo, paluutapa ja pääsymääritys.

(parametriluettelo)

// suoritettavat lausunnot

Jokaisella menetelmällä on ainutlaatuinen menetelmä funktion soittamiseksi. Suoritettavat lausunnot ovat kihara-aukkojen sisällä. Palautustyyppi selittää, palauttaako funktio arvon vai ei. Kun paluutyyppiä ei ole, sitä kutsutaan tyhjäksi. Käyttöspesifikaattorilla määritetään menetelmän saavutettavuus sovelluksessa. Parametreja käytetään datan vastaanottamiseen tai siirtämiseen menetelmälle. Voi olla myös menetelmiä, joissa ei ole parametreja. Parametrit voivat olla arvostettuja parametreja, lähtöparametreja tai viiteparametreja.

Lähtöparametreja käytetään siirtämään tulokset takaisin kutsutavalle. Tätä varten parametri tulisi ilmoittaa avainsanalla out. Tulostusparametri ei luo uutta tallennuspaikkaa. Yleensä menetelmä palauttaa yhden arvon. Mutta C #: ssa on mahdollista palauttaa kaksi arvoa funktiosta lähtöparametreja käyttämällä. Katso alla olevaa ohjelmaa.

nimitila-sovellus1

            julkisen luokan laskenta

julkinen tyhjä näyttö (ulos int a, out int b)

int-arvo = 5;

a = arvo;

b = arvo;

a = a * a;

b = b * b;

julkinen staattinen void main (merkkijono [] args)

int arvo 1 = 10, arvo 2 = 20;

Laskenta cal = uusi laskelma ();

cal.näyttö (arvo 1, pois arvo 2);

Console.ReadLine ();

Näyttötoiminto kutsutaan päämenetelmästä. Arvolla 1 ja kahdella on 10 ja 20, mutta niitä ei oteta menetelmään. Arvo a on 25 ja b: n arvo on myös 25 toiminnossa. Siksi nämä arvot palautetaan. Kun tulostetaan arvoa 1 ja arvoa 2, se ei anna arvoa 10 ja 20. Sen sijaan se tulostaa 25 ja 25. Tulostetun avainsanan avulla voidaan palauttaa menetelmästä useita arvoja..

Mikä on viite C #?

Kun ohitetaan parametreja arvon perusteella, jokaiselle parametrille luodaan uusi tallennuspaikka. Pääohjelmasta lähetetyt todelliset parametrit eivät muutu. Sen sijaan nämä arvot kopioidaan erilliseen sijaintiin. Näitä uusia muuttuvia kopioita kutsutaan muodollisiksi parametreiksi. Katso alla oleva koodi.

nimitila-sovellus1

julkisen luokan laskenta

julkinen tyhjä vaihto (int x, int y)

int temp;

lämpötila = x;

x = y;

y = lämpötila;

julkinen staattinen void main (merkkijono [] args)

Laskenta cal = uusi laskelma ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Edellä olevan ohjelman mukaan Laskenta-luokassa on menetelmävaihto (). Pääohjelmassa luodaan laskentatyyppinen objekti. On kaksi arvoa, kuten p ja q. Muuttujalla p on arvo 2 ja q muuttujalla on arvo 3. Nämä kaksi arvoa siirretään vaihtomenetelmään. Vaihtomenetelmässä arvo 2 kopioidaan muuttujaan x ja arvo 3 kopioidaan muuttujaan y. Temp-muuttujaa käyttämällä arvot vaihdetaan. Takaisin pääohjelmaan, kun tulostat p- ja q-arvoja, arvoja ei vaihdeta. P-arvo on edelleen 2 ja q-arvo on 3. Jopa vaihtomenetelmässä arvot vaihdetaan, mutta ei heijastu pääohjelmassa.

Toisin kuin yllä esitetyillä arvoilla, on mahdollista siirtää parametrejä vertailun avulla. Viitemuuttuja on viittaus muistipaikkaan. Uutta muistin sijaintia ei luoda. Menetelmän muutokset, jotka heijastuvat pääohjelmassa. Kohdassa C # viiteparametreihin viitataan käyttämällä ref-avainsanaa. Katso alla olevaa ohjelmaa.

nimitila-sovellus1

julkisen luokan laskenta

julkinen tyhjä vaihto (ref int x, ref int y)

int temp;

temp = x;

x = y;

y = lämpötila;

julkinen staattinen void main (merkkijono [] args)

Laskenta cal = uusi laskelma ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Edellä olevan ohjelman mukaan luokan laskennassa on vaihtomenetelmä. Pääohjelmassa luodaan laskentatyyppinen objekti. Ne ovat kaksi muuttujaa, kuten p ja q. P-muuttujalla on arvo 2 ja q-muuttujalla on arvo 3. Menetelmälle välitetään arvojen siirtämisen sijaan viittaus p: n ja q: n muistipaikkoihin. Kyseisiin vertailumuuttujiin viitataan ref. Vaihtomenetelmässä muutokset tehdään sen sijaan, että arvoja kopioidaan uuteen sijaintiin, todellisiin parametreihin. Tulostettaessa pääohjelman p- ja q-arvoja, se antaa vaihdetut arvot. Nyt p-arvo on 3 ja q-arvo on 2.

Mikä on C: n ja ref: n samankaltaisuus??

  • Molemmat ovat avainsanoja, joita käytetään viittaamaan menetelmän parametreihin.

Mitä eroa on ref: n ja ref: n välillä C #: ssä?

ulos vs ref C #: ssä

Out on avainsana C #: ssä, jota käytetään viittaamaan lähtöparametriin. Sitä käytetään siirtämään kutsutun menetelmän tulokset menetelmän kutsumiseen. Viite on C #: n avainsana, jota käytetään viittaamaan viiteparametriin. Sitä käytetään tiedon siirtämiseen kutsutusmenetelmästä kutsutulle menetelmälle ja datan palauttamiseksi kutsutusta menetelmästä kutsuvalle menetelmälle.
toiminnallisuus
Kun avainsanaa käytetään, data voidaan siirtää kutsutusmenetelmästä kutsutulle menetelmälle. Mutta nämä tiedot heitetään pois. Sitä käytetään siirtämään tulos kutsutusmenetelmään kutsutusta menetelmästä. Kun käytetään avainsanaa ref, data siirretään kutsutusmenetelmästä kutsutulle menetelmälle ja manipuloitu data siirretään takaisin kutsuvalle menetelmälle..
Tietojen siirtäminen
Kun avainsanaa käytetään, data välitetään yhdellä tavalla, joka on kutsuttu menetelmä menetelmälle, joka kutsuu. Käytettäessä avainsanaa ref, tiedot siirretään kahdella tavalla, so. Menetelmästä kutsuttuun menetelmään ja kutsutusta menetelmästä kutsuvaan menetelmään..

Yhteenveto - ulos vs ref C: ssä # 

Kun menetelmää kutsutaan, voi olla tarpeen siirtää arvot menetelmään ja palauttaa menetelmän tulokset. C #: lla on erilaisia ​​parametrejä tämän saavuttamiseksi. Arvoparametreja käytetään parametrien siirtämiseen menetelmään arvon perusteella. Referenssiparametreja käytetään parametrien siirtämiseen menetelmälle vertailuna. Lähtöparametreja käytetään tuloksen siirtämiseen takaisin menetelmästä. C #: ssä avainsanaa käytetään lähtöparametreihin ja ref-avainsanaa käytetään viittaamaan parametreihin. Ero C: n ja ref: n välillä on se, että out on avainsana, jota käytetään viittaamaan lähtöparametriin, jota käytetään siirtämään tulokset kutsutusta menetelmästä kutsuvaan menetelmään, kun taas ref on avainsana, joka viittaa referenssiparametriin, jota käytetään siirtämään tietoja kutsuvan menetelmän kutsumiseksi menetelmäksi ja datan vastaanottamiseksi kutsutusta menetelmästä kutsuvaksi menetelmäksi.

Lataa PDF out of ref -versiosta C # -versiossa

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainauksen yhteydessä. Lataa PDF-versio täältä: Ero ulkoisen ja viitearvon välillä C #

Viite:

1.tutorialspoint.com. "C # -menetelmät." Kohta. Saatavilla täältä 
2.dnfvideo. C # Lähtöparametrit Vs REF -parametrit, .NET-haastattelun valmisteluvideot, 28. syyskuuta 2015. Saatavilla täältä  

Kuvan kohteliaisuus:

1.'C sharp'By Mothmolevna - Oma työ, (Public Domain) Commons Wikimedian kautta