Rozdíl mezi a zpět v C #

Klíčový rozdíl - ven vs ref v C #
 

C # je moderní programovací jazyk vyvinutý společností Microsoft. Používá se pro vývoj různých aplikací pro stolní, webové a mobilní. Funkce nebo metody jsou konceptem programování. Tato skupina příkazů, které se používají k provedení určitého úkolu, se nazývá funkce nebo metoda. V programech C # začíná provádění od main (). Je to příklad metody. Při volání metody jsou data předána do metody nebo přijata z metody. Metoda, která volá novou metodu, se nazývá volání metody. Nová metoda se nazývá nazývá se metoda. Pro správu předávaných hodnot a získání výsledku používá C # parametry. Jsou to hodnotné parametry, výstupní parametry a referenční parametry. Parametry hodnoty se používají pro předávání parametrů do metody podle hodnoty. Referenční parametry se používají k předávání parametrů do metody odkazem. Výstupní parametry se používají k předání výsledku zpět z metody. V C # se klíčové slovo out používá pro výstupní parametry a klíčové slovo ref se používá k referenčním parametrům. klíčový rozdíl mezi C a C v C # je to, out je klíčové slovo používané k odkazování výstupního parametru, který se používá k předávání výsledků z volané metody volající metodě, zatímco ref je klíčové slovo k odkazování referenčního parametru, který se používá k předávání dat z volající metody volané metodě ak přijímání dat od volané metody k volající metodě.

OBSAH

1. Přehled a klíčový rozdíl
2. Co je v C #
3. Co je ref v C #
4. Podobnosti mezi out a ref v C #
5. Porovnání bok po boku - out vs ref v C # v tabulkové formě
6. Shrnutí

Co je v C #?

Syntaxe funkce nebo metody je následující. Metoda obsahuje řadu prvků, jako je název metody, seznam parametrů, typ vrácení a specifikátor přístupu.

(seznam parametrů)

// příkazy k provedení

Každá metoda má jedinečný způsob provedení volání funkce. Spustitelné příkazy jsou uvnitř složených závorek. Typ návratu vysvětluje, zda funkce vrací hodnotu nebo ne. Pokud neexistuje návratový typ, nazývá se neplatný. Specifikátor přístupu se používá k určení přístupnosti metody v aplikaci. Parametry se používají k přijímání nebo předávání dat této metodě. Mohou existovat také metody bez parametrů. Parametry mohou být oceňovány parametry, výstupní parametry nebo referenční parametry.

Výstupní parametry se používají k předávání výsledků zpět do metody volání. Za tímto účelem by měl být parametr deklarován bez klíčového slova. Výstupní parametr nevytváří nové umístění úložiště. Obecně metoda vrací jednu hodnotu. Ale v C # je možné vracet dvě hodnoty z funkce pomocí výstupních parametrů. Viz níže uvedený program.

namespace application1

            Výpočet veřejné třídy

veřejné neplatné zobrazení (out 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, hodnota2 = 20;

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

cal.display (out value1, out value2);

Console.ReadLine ();

Funkce displeje se vyvolá z hlavní metody. Hodnota 1 a hodnota dvě mají 10 a 20, ale nejsou zahrnuty do metody. Hodnota a je 25 a hodnota b je také 25 ve funkci. Proto jsou tyto hodnoty vráceny. Při tisku hodnot1 a hodnota2 nedává 10 a 20. Místo toho bude tisknout 25 a 25. Pomocí klíčového slova out lze z metody vrátit více hodnot.

Co je ref v C #?

Při předávání parametrů podle hodnoty se pro každý parametr vytvoří nové umístění úložiště. Skutečné parametry, které byly odeslány z hlavního programu, se nemění. Místo toho jsou tyto hodnoty zkopírovány do samostatného umístění. Tyto nové variabilní kopie se nazývají formální parametry. Viz níže uvedený kód.

namespace application1

Výpočet veřejné třídy

veřejný neplatný swap (int x, int y)

int temp;

temp = x;

x = y;

y = temp;

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 ();

Podle výše uvedeného programu má třída výpočtu metodu swap (). V hlavním programu je vytvořen objekt typu Výpočet. Existují dvě hodnoty, jako p a q. Proměnná p má hodnotu 2 a proměnná q má hodnotu 3. Tyto dvě hodnoty jsou předány metodě swap. Ve swapové metodě je hodnota 2 zkopírována do proměnné x a hodnota 3 zkopírována do proměnné y. Pomocí proměnné temp jsou hodnoty zaměněny. Zpět v hlavním programu, při tisku p a q nejsou hodnoty zaměněny. Hodnota p je stále 2 a hodnota q je 3. I v metodě swap jsou hodnoty zaměněny, ale neodrážejí se v hlavním programu..

Na rozdíl od výše uvedených hodnot je možné předat parametry odkazem. Referenční proměnná je odkaz na umístění v paměti. Není vytvořeno žádné nové umístění paměti. Změny v metodě se projevily v hlavním programu. V C # jsou referenční parametry odkazovány pomocí klíčového slova ref. Viz níže uvedený program.

namespace application1

Výpočet veřejné třídy

veřejný neplatný swap (ref int x, ref int y)

int temp;

temp = x;

x = y;

y = temp;

public static void main (String [] args)

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

int p = 2;

int q = 3;

cal.swap (ref p, ref q);

Console.WriteLine (p);

Console.WriteLine (q);

Console.ReadLine ();

Podle výše uvedeného programu má třída Výpočet metodu swap. V hlavním programu je vytvořen objekt typu Výpočet. Existují dvě proměnné, jako p a q. Proměnná p má hodnotu 2 a proměnná q má hodnotu 3. Spíše než předávání hodnot se do metody předává odkaz na umístění paměti p a q. Tyto referenční proměnné jsou uvedeny pomocí odkazu. Ve swapové metodě se namísto překonávání hodnot do nového umístění provedou změny skutečných parametrů. Když tisknete hodnoty p a q hlavního programu, dá zaměněné hodnoty. Nyní je hodnota p 3 a hodnota q je 2.

Jaká je podobnost mezi out a ref v C #?

  • Obě jsou klíčová slova používaná k odkazování na parametry metody.

Jaký je rozdíl mezi out a ref v C #?

out vs ref in C #

Out je klíčové slovo v C #, které se používá k odkazu na výstupní parametr. Používá se k předávání výsledků z volané metody volání metody. Ref je klíčové slovo v C #, které se používá k odkazu na referenční parametr. Používá se k předávání dat z volající metody volané metodě ak návratu dat z volané metody do volající metody.
Funkčnost
Při použití klíčového slova out mohou být data předávána z volající metody do volané metody. Ale tato data jsou zahozena. Používá se k předání výsledku volající metodě z volané metody. Při použití klíčového slova ref jsou data předávána z volající metody do volané metody a manipulovaná data jsou předávána zpět do volající metody.
Předávání dat
Při použití klíčového slova ven jsou data předávána jedním způsobem, který se nazývá metoda volající metody. Při použití klíčového slova ref jsou data předávána dvěma způsoby, z metody volání na volanou metodu a z volané metody na volající metodu.

Shrnutí - out vs ref v C # 

Při vyvolání metody může být nutné předat hodnoty do metody a získat zpět výsledky z metody. K dosažení toho má C # různé parametry. Parametry hodnoty se používají pro předávání parametrů do metody podle hodnoty. Referenční parametry se používají k předávání parametrů do metody odkazem. Výstupní parametry se používají k předání výsledku zpět z metody. V C # se klíčové slovo out používá pro výstupní parametry a klíčové slovo ref se používá k referenčním parametrům. Rozdíl mezi out a ref v C # je v tom, že out je klíčové slovo, které se používá k odkazování výstupního parametru, který se používá k předávání výsledků z volané metody na volající metodu, zatímco ref je klíčové slovo k odkazování na referenční parametr, který se používá k předávání dat z volající metodu na volanou metodu a přijímání dat z volané metody na volající metodu.

Stáhněte si PDF of out vs ref in C #

Můžete si stáhnout PDF verzi tohoto článku a použít ji pro účely offline podle citace. Stáhněte si prosím PDF verzi zde: Rozdíl mezi ven a ref v C #

Odkaz:

1.tutorialspoint.com. "C # metody." Bod. K dispozici zde 
2.dnfvideo. C # Out parametry Vs REF parametry, .NET Interview videa k přípravě, 28. září 2015. K dispozici zde  

Obrázek se svolením:

1.'C sharp'By Mothmolevna - vlastní práce, (Public Domain), prostřednictvím Commons Wikimedia