Forskjellen mellom ut og ref i C #

Nøkkelforskjell - ut vs ref i C #
 

C # er et moderne programmeringsspråk utviklet av Microsoft. Den brukes til å utvikle ulike applikasjoner for desktop, web og mobil. Funksjoner eller metoder er et konsept i programmering. Den gruppen uttalelser som brukes til å utføre en bestemt oppgave, kalles en funksjon eller en metode. I C # -programmer starter kjøringen fra main (). Det er et eksempel på en metode. Når du ringer en metode, sendes data til metoden eller mottas fra metoden. Metoden som kaller den nye metoden er kjent som ringer metoden. Den nye metoden er kjent som kalt metode. For å administrere de forbigående verdiene og få tilbake resultatet, bruker C # parametere. De er verdifulle parametere, utgangsparametere og referanseparametere. Verdiparametrene brukes til å sende parametere inn i metoden etter verdi. Referanseparametrene brukes til å sende parametere til metoden ved referanse. Utgangsparametrene brukes til å sende resultatet tilbake fra metoden. I C #, er ut søkeord brukt for utgangsparametere og ref-søkeord brukes til å referere til parametere. De nøkkelforskjell mellom ut og ref i C # er det, ut er et søkeord som brukes til å referere til en utgangsparameter som brukes til å sende resultater fra den oppkalte metoden til anropsmetode mens ref er et søkeord for å referere til en referanseparameter som brukes til å overføre data fra anropsmetode til å kalte metode og for å motta dataene fra den kalte metoden til å ringe metoden.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er ute i C #
3. Hva er ref i C #
4. Likheter mellom ut og ref i C #
5. Side ved side sammenligning - ut vs ref i C # i tabellform
6. Sammendrag

Hva er ute i C #?

Syntaxen for funksjon eller en metode er som følger. En metode har en rekke elementer som metodenavn, parameterliste, returtype og tilgangsspesifikator.

(parameterliste)

// uttalelser for å utføre

Hver metode har en unik metode for å ringe til funksjonen. De eksekverbare uttalelsene er inne i krøllete braces. Returtypen forklarer om funksjonen returnerer en verdi eller ikke. Når det ikke er noen returtype, kalles det tomt. Tilgangsspesifikator brukes til å angi metodetilgangen i søknaden. Parametrene brukes til å motta eller sende data til metoden. Det kan også være metoder uten parametere. Parametre kan verdsettes parametere, utgangsparametere eller referanseparametere.

Utgangsparametrene brukes til å sende resultater tilbake til anropsmetoden. For det skal parameteren deklareres med søkeordet ut. Utgangsparameteren oppretter ikke en ny lagringsplass. Vanligvis returnerer en metode en verdi. Men i C # er det mulig å returnere to verdier fra en funksjon ved hjelp av utgangsparametere. Se underprogrammet nedenfor.

namespace application1

            offentlig klasse Beregning

offentlig tomromvisning (ut int a, ut int b)

int verdi = 5;

a = verdi;

b = verdi;

a = a * a;

b = b * b;

offentlig statisk tomrom main (String [] args)

int verdi1 = 10, verdi2 = 20;

Beregning cal = ny Beregning ();

cal.display (ut verdi1, ut verdi2);

Console.ReadLine ();

Skjermfunksjonen kalles fra hovedmetoden. Verdien 1 og verdi to har 10 og 20, men de er ikke tatt inn i metoden. Verdien av a er 25 og verdien av b er også 25 i funksjonen. Derfor returneres disse verdiene. Når du skriver ut verdi1 og verdi2, vil den ikke gi 10 og 20. I stedet vil den skrive ut 25 og 25. Ved å bruke ut søkeordet kan flere verdier returneres fra metoden.

Hva er ref i C #?

Når parametere overføres til verdi, opprettes et nytt lagringssted for hver parameter. De faktiske parametrene som ble sendt fra hovedprogrammet, endres ikke. I stedet blir disse verdiene kopiert til et eget sted. Disse nye variabelkopiene kalles formelle parametere. Se under koden nedenfor.

namespace application1

offentlig klasse Beregning

offentlig tomtveksling (int x, int y)

int temp;

temp = x;

x = y;

y = temp;

offentlig statisk tomrom main (String [] args)

Beregning cal = ny Beregning ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

I henhold til det ovennevnte programmet har beregningsklassen en metodebytte (). I hovedprogrammet opprettes et objekt av typen Beregning. Det er to verdier som p og q. Variablen p har verdi 2 og q variabel har verdi 3. Disse to verdiene sendes til byttemetoden. I swapmetoden kopieres verdien 2 til variabel x og verdien 3 kopieres til variabel y. Ved hjelp av tempvariabelen blir verdiene byttet. Tilbake i hovedprogrammet, når du skriver ut p og q, blir ikke verdiene byttet. P-verdien er fortsatt 2 og q-verdien er 3. Selv i byttemetoden blir verdiene byttet, men reflekterer ikke i hovedprogrammet.

I motsetning til passerende verdier som ovenfor, er det mulig å sende parametre ved referanse. En referansevariabel er en referanse til minnestedet. Det er ikke noe nytt minne sted er opprettet. Endringene i metoden reflekteres i hovedprogrammet. I C # refereres referanseparametrene ved hjelp av ref søkeord. Se underprogrammet nedenfor.

namespace application1

offentlig klasse Beregning

offentlig tomtbytte (ref int x, ref int y)

int temp;

temp = x;

x = y;

y = temp;

offentlig statisk tomrom main (String [] args)

Beregning cal = ny Beregning ();

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

I henhold til det ovennevnte programmet har klassekalkuleringen byttemetoden. I hovedprogrammet opprettes et objekt av typen Beregning. Det er to variabler som p og q. P-variabelen har verdien 2 og q variabelen har verdien 3. I stedet for å overføre verdier, sendes referansen til minneplassene til p og q til metoden. Disse referansevariablene refereres ved hjelp av ref. I byttemetoden, i stedet for å håndtere verdiene til et nytt sted, blir endringene gjort til de faktiske parametrene. Når du skriver ut p- og q-verdiene i hovedprogrammet, vil det gi bytteverdier. Nå er p-verdien 3 og q-verdien er 2.

Hva er likheten mellom ut og ref i C #?

  • Begge er søkeord som brukes til å referere parametrene til en metode.

Hva er forskjellen mellom ut og ref i C #?

ut vs ref i C #

Ut er et søkeord i C # som brukes til å referere til en utgangsparameter. Det brukes til å sende resultatene fra en kalt metode for å kalle metoden. Ref er et søkeord i C # som brukes til å referere til en referanseparameter. Det brukes til å overføre data fra anropsmetode til å ringe metode og å returnere data fra den anropte metoden til anropsmetode.
funksjonalitet
Når du bruker søkeordet, kan dataene overføres fra anropsmetode til den anropte metoden. Men disse dataene blir kassert. Det brukes til å sende resultatet til anropsmetoden fra kalt metode. Når du bruker søkeordrefleksen, overføres dataene fra anropsmetode til den anropte metoden, og de manipulerte dataene sendes tilbake til anropsmetoden.
Passering av data
Når du bruker søkeordet, sendes dataene på en måte som er en kalt metode til anropsmetoden. Når du bruker søkeordrefleksen, blir dataene overført på to måter som er fra anropsmetode til den kalte metoden og fra kalt metode til anropsmetoden.

Sammendrag - ut vs ref i C # 

Når man påkaller en metode, kan det være nødvendig å sende verdiene inn i metoden og for å få tilbake resultatene fra metoden. C # har forskjellige parametere for å oppnå det. Verdiparametrene brukes til å sende parametere inn i metoden etter verdi. Referanseparametrene brukes til å sende parametere til metoden ved referanse. Utgangsparametrene brukes til å sende resultatet tilbake fra metoden. I C #, er ut søkeord brukt for utgangsparametere og ref-søkeord brukes til å referere til parametere. Forskjellen mellom ut og ref i C # er at, ut er et søkeord som brukes til å referere en utgangsparameter som brukes til å sende resultater fra kalt metode til anropsmetode mens ref er et søkeord for å referere til en referanseparameter som brukes til å overføre data fra ringer metode for å ringe metode og å motta data fra den kalte metoden til å ringe metoden.

Last ned PDF av ut vs ref i C #

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til nettbasert bruk som per sitatnotat. Vennligst last ned PDF-versjonen her: Forskjellen mellom ut og ref i C #

Henvisning:

1.tutorialspoint.com. "C # Metoder."  Poenget. Tilgjengelig her 
2.dnfvideo. C # Ut parametere Vs REF parametere, .NET Intervju Forberedelse videoer, 28 Sept. 2015. Tilgjengelig her  

Bilde Courtesy:

1.'C sharp'By Mothmolevna - Eget arbeid, (Public Domain) via Commons Wikimedia