Rozdiel medzi out a ref v C #

Kľúčový rozdiel - von vs odkaz v C #
 

C # je moderný programovací jazyk vyvinutý spoločnosťou Microsoft. Používa sa na vývoj rôznych aplikácií pre stolné, webové a mobilné zariadenia. Funkcie alebo metódy sú konceptom programovania. Táto skupina príkazov, ktoré sa používajú na vykonávanie konkrétnej úlohy, sa nazýva funkcia alebo metóda. V programoch C # sa vykonávanie začína od main (). Je to príklad metódy. Pri volaní metódy sa údaje prenášajú do metódy alebo sa prijímajú z metódy. Metóda, ktorá volá novú metódu, je známa ako volanie metódy. Nová metóda je známa ako nazýva sa metóda. Na správu odovzdávaných hodnôt a získanie výsledku používa C # parametre. Sú to hodnotené parametre, výstupné parametre a referenčné parametre. Parametre hodnoty sa používajú na odovzdávanie parametrov do metódy podľa hodnoty. Referenčné parametre sa používajú na prenos parametrov do metódy odkazom. Výstupné parametre sa používajú na odovzdanie výsledku späť z metódy. V C # sa kľúčové slovo out používa pre výstupné parametre a kľúčové slovo ref sa používa na referenčné parametre. kľúčový rozdiel medzi C a C v C # je to, out je kľúčové slovo, ktoré sa používa na odkazovanie výstupného parametra, ktorý sa používa na odovzdávanie výsledkov z volanej metódy volajúcej metóde, zatiaľ čo ref je kľúčové slovo na odkazovanie referenčného parametra, ktorý sa používa na odovzdávanie údajov z volajúcej metódy do volanej metódy a na prijímanie údajov od volanej metódy k volajúcej metóde.

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo je v C #
3. Čo je odkaz v C #
4. Podobnosti medzi out a ref v C #
5. Porovnanie vedľa seba - v porovnaní s referenčným číslom C # v tabuľkovej forme
6. Zhrnutie

Čo je v C #?

Syntax funkcie alebo metódy je nasledovná. Metóda obsahuje množstvo prvkov, ako je názov metódy, zoznam parametrov, typ vrátenia a špecifikátor prístupu.

(zoznam parametrov)

// príkazy na vykonanie

Každá metóda má jedinečný spôsob uskutočnenia funkčného volania. Spustiteľné vyhlásenia sú vo vnútri zložených zátvoriek. Typ návratu vysvetľuje, či funkcia vracia hodnotu alebo nie. Ak neexistuje návratový typ, nazýva sa neplatný. Špecifikátor prístupu sa používa na určenie prístupnosti metódy v aplikácii. Parametre sa používajú na príjem alebo odovzdanie údajov do metódy. Môžu existovať aj metódy bez parametrov. Parametre môžu byť hodnotené parametre, výstupné parametre alebo referenčné parametre.

Výstupné parametre sa používajú na odovzdávanie výsledkov späť metóde volaní. Parameter by sa preto mal deklarovať bez kľúčového slova. Výstupný parameter nevytvára nové umiestnenie úložiska. Všeobecne platí, že metóda vracia jednu hodnotu. Ale v C # je možné vrátiť dve hodnoty z funkcie pomocou výstupných parametrov. Pozrite si nasledujúci program.

namespace application1

            Výpočet verejnej triedy

verejné prázdne zobrazenie (mimo int a, out int b)

int hodnota = 5;

a = hodnota;

b = hodnota;

a = a * a;

b = b * b;

public static void main (String [] args)

int hodnota 1 = 10, hodnota 2 = 20;

Výpočet cal = nový výpočet ();

cal.display (out value1, out value2);

Console.ReadLine ();

Funkcia displeja sa vyvolá z hlavnej metódy. Hodnota 1 a hodnota dva majú 10 a 20, ale do metódy sa neberú. Hodnota a je 25 a hodnota b je tiež 25 vo funkcii. Preto sa tieto hodnoty vracajú. Pri tlači hodnôt1 a hodnoty2 nedá 10 a 20. Namiesto toho bude tlačiť 25 a 25. Pri použití kľúčového slova out môže byť z metódy vrátených viac hodnôt..

Čo je odkaz v C #?

Pri odovzdávaní parametrov podľa hodnoty sa pre každý parameter vytvorí nové úložisko. Skutočné parametre, ktoré boli odoslané z hlavného programu, sa nemenia. Namiesto toho sa tieto hodnoty skopírujú na samostatné miesto. Tieto nové variabilné kópie sa nazývajú formálne parametre. Pozrite si nasledujúci kód.

namespace application1

Výpočet verejnej triedy

verejný neplatný swap (int x, int y)

int temp;

teplota = x;

x = y;

y = teplota;

public static void main (String [] args)

Výpočet cal = nový výpočet ();

int p = 2;

int q = 3;

cal.swap (p, q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Podľa vyššie uvedeného programu má výpočtová trieda metódu swap (). V hlavnom programe sa vytvorí objekt typu Výpočet. Existujú dve hodnoty, napríklad p a q. Premenná p má hodnotu 2 a premenná q má hodnotu 3. Tieto dve hodnoty sa odovzdajú do swapovej metódy. Pri metóde swap sa hodnota 2 skopíruje do premennej x a hodnota 3 sa skopíruje do premennej y. Pomocou premennej temp sa hodnoty prehodia. V hlavnom programe, pri tlači p a q, hodnoty nie sú zamenené. Hodnota p je stále 2 a hodnota q je 3. Aj pri metóde swap sú hodnoty zamenené, ale neodrážajú sa v hlavnom programe..

Na rozdiel od vyššie uvedených hodnôt je možné parametre odovzdať odkazom. Referenčná premenná je odkaz na umiestnenie v pamäti. Nie je vytvorené žiadne nové miesto v pamäti. Zmeny v metóde sa prejavili v hlavnom programe. V C # sa referenčné parametre uvádzajú pomocou kľúčového slova ref. Pozrite si nasledujúci program.

namespace application1

Výpočet verejnej triedy

verejný neplatný swap (ref int x, ref int y)

int temp;

temp = x;

x = y;

y = teplota;

public static void main (String [] args)

Výpočet cal = nový výpočet ();

int p = 2;

int q = 3;

cal.swap (odkaz p, odkaz q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Podľa vyššie uvedeného programu má trieda Výpočet metódu výmeny. V hlavnom programe sa vytvorí objekt typu Výpočet. Existujú dve premenné, ako napríklad p a q. Premenná p má hodnotu 2 a premenná q má hodnotu 3. Namiesto odovzdávania hodnôt sa metóde odovzdá odkaz na pamäťové umiestnenia p a q. Tieto referenčné premenné sa uvádzajú pomocou odkazu č. Pri metóde swap sa zmeny skutočných parametrov neuskutočnia, ale nezmenia sa na nové miesto. Pri tlači hodnôt p a q hlavného programu sa dajú vymenené hodnoty. Teraz je hodnota p 3 a hodnota q je 2.

Aká je podobnosť medzi out a ref v C #?

  • Obidve sú kľúčové slová používané na označenie parametrov metódy.

Aký je rozdiel medzi out a ref v C #?

out vs ref in C #

Out je kľúčové slovo v C #, ktoré sa používa na označenie výstupného parametra. Používa sa na prenos výsledkov z volanej metódy na volanie metódy. Ref je kľúčové slovo v C #, ktoré sa používa na označenie referenčného parametra. Používa sa na prenos údajov z volajúcej metódy do volanej metódy a na vrátenie údajov z volanej metódy do volajúcej metódy.
funkčnosť
Pri použití kľúčového slova sa údaje môžu prenášať z metódy volania na volanie metódy. Tieto údaje sa však zahodia. Používa sa na odovzdanie výsledku volajúcej metóde z volanej metódy. Pri použití kľúčového slova ref sa údaje prenášajú z volajúcej metódy do volanej metódy a manipulované údaje sa odovzdávajú späť do volajúcej metódy.
Odovzdávanie údajov
Pri použití kľúčového slova „out“ sa údaje prenášajú jedným spôsobom, ktorý sa nazýva metóda volajúcej metódy. Pri použití kľúčového slova ref sa údaje prenášajú dvoma spôsobmi, a to z metódy volania na volanú metódu a z volania na metódu volania.

Zhrnutie - von vs odkaz v C # 

Pri vyvolaní metódy môže byť potrebné preniesť hodnoty do metódy a získať späť výsledky z metódy. C # má na dosiahnutie tohto cieľa rôzne parametre. Parametre hodnoty sa používajú na odovzdávanie parametrov do metódy podľa hodnoty. Referenčné parametre sa používajú na prenos parametrov do metódy odkazom. Výstupné parametre sa používajú na odovzdanie výsledku späť z metódy. V C # sa kľúčové slovo out používa pre výstupné parametre a kľúčové slovo ref sa používa na referenčné parametre. Rozdiel medzi out a ref v C # je v tom, že out je kľúčové slovo, ktoré sa používa na označenie výstupného parametra, ktorý sa používa na odovzdávanie výsledkov z volanej metódy na volajúcu metódu, zatiaľ čo ref je kľúčové slovo na odkazovanie na referenčný parameter, ktorý sa používa na prenos údajov z volanie metódy na volanie metódy a na príjem údajov z volania metódy do metódy volania.

Stiahnite si súbor PDF z verzus odkaz v C #

Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ju na účely offline podľa citácie. Stiahnite si PDF verziu tu: Rozdiel medzi von a odkazom v C #

referencie:

1.tutorialspoint.com. „Metódy C #“. Bod. K dispozícii tu 
2.dnfvideo. C # Out parametre Vs REF parametre, .NET videá na prípravu rozhovoru, 28. septembra 2015. K dispozícii tu  

S láskavým dovolením:

1.'C sharp'By Mothmolevna - Vlastná práca, (Public Domain), na Commons Wikimedia