Klíčový rozdíl - out 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í počítače, web a mobilní zařízení. Funkce nebo metody je pojem v programování. Tato skupina příkazů, které se používají k provedení konkrétního úkolu, se nazývá funkce nebo metoda. V C # programech začíná provádění od main (). Je to příklad metody. Při volání metody jsou data předávána metodě nebo přijímána z metody. Metoda, která volá novou metodu, se nazývá volání metody. Nová metoda je známá jako volaná metoda. Pro správu předávání hodnot a získání zpět výsledku používá C # parametry. Jsou to hodnotné parametry, výstupní parametry a referenční parametry. Hodnotové parametry se používají k předávání parametrů do metody podle hodnoty. Referenční parametry se používají k předání parametrů metodě odkazem. Výstupní parametry se používají k předání výsledku zpět z metody. V C # se pro výstupní parametry používá klíčové slovo out a klíčové slovo ref se používá k odkazování na parametry. Klíčový rozdíl mezi out a ref v C # spočívá v tom, že out je klíčové slovo používané k odkazování na výstupní parametr, který se používá k předání výsledků z volané metody volající metodě, zatímco ref je klíčové slovo k odkazu na referenční parametr, který se používá k předání data z volající metody do volané metody a přijímat data z volané metody do volající metody.out je klíčové slovo použité k odkazu na výstupní parametr, který se používá k předání výsledků z volané metody volací metodě, zatímco ref je klíčové slovo k odkazu na referenční parametr, který se používá k předání dat z volající metody volané metodě a k přijetí dat z volané metody na volací metodu.out je klíčové slovo použité k odkazu na výstupní parametr, který se používá k předání výsledků z volané metody volací metodě, zatímco ref je klíčové slovo k odkazu na referenční parametr, který se používá k předání dat z volající metody volané metodě a k přijetí dat z volané metody na volací metodu.
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í vedle sebe - out vs. ref v C # v tabulkové formě
6. Shrnutí
Co je v C #?
Syntaxe funkce nebo metody je následující. Metoda má řadu prvků, jako je název metody, seznam parametrů, návratový typ a specifikátor přístupu.
(seznam parametrů)
{// příkazy k provedení
}
Každá metoda má jedinečnou metodu pro volání funkce. Spustitelné příkazy jsou uvnitř složených závorek. Návratový typ vysvětluje, zda funkce vrací hodnotu nebo ne. Pokud neexistuje žádný návratový typ, nazývá se void. 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 metodě. Mohou existovat také metody bez parametrů. Parametry mohou být oceňované parametry, výstupní parametry nebo referenční parametry.
Výstupní parametry se používají k předání výsledků zpět volající metodě. K tomu by měl být parametr deklarován s klíčovým slovem out. Výstupní parametr nevytváří nové umístění úložiště. Obecně metoda vrací jednu hodnotu. Ale v C # je možné vrátit dvě hodnoty z funkce pomocí výstupních parametrů. Viz níže uvedený program.
namespace application1 {
výpočet veřejné třídy {
public void display (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 hodnota1 = 10, hodnota2 = 20;
Výpočet cal = nový Výpočet ();
cal.display (out hodnota1, out hodnota2);
Console. ReadLine ();
}
}
}
Funkce zobrazení je volána z hlavní metody. Hodnota1 a hodnota dva mají 10 a 20, ale do metody se neberou. Hodnota a je 25 a hodnota b je také 25 ve funkci. Proto jsou tyto hodnoty vráceny. Při tisku value1 a value2 nebude dávat 10 a 20. Místo toho vytiskne 25 a 25. Při použití 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 se tyto hodnoty zkopírují 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 {
public void 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 ();
}
}
}
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ě hodnoty, například 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. V metodě swap se hodnota 2 zkopíruje do proměnné x a hodnota 3 se zkopíruje do proměnné y. Pomocí proměnné temp se hodnoty vymění. Zpět v hlavním programu, při tisku p a q, nejsou hodnoty zaměňovány. Hodnota p je stále 2 a hodnota q je 3. I v metodě swap jsou hodnoty zaměňovány, ale neodráží se v hlavním programu.
Na rozdíl od předávání hodnot, jak je uvedeno výše, 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 metody 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 {
public void swap (ref int x, ref 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 (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 odkládání. V hlavním programu je vytvořen objekt typu Výpočet. Jsou to dvě proměnné, jako p a q. Proměnná p má hodnotu 2 a proměnná q má hodnotu 3. Místo předávání hodnot se metodě předává odkaz na paměťová místa p a q. Tyto referenční proměnné jsou odkazovány pomocí ref. V metodě swap se namísto překládání hodnot do nového umístění provádějí změny skutečných parametrů. Při tisku hodnot p a q hlavního programu poskytne 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 #?
Rozdílný článek uprostřed před tabulkou
ven vs ref v C # |
|
Out je klíčové slovo v C #, které se používá k odkazování na výstupní parametr. Používá se k předá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ání dat z volající metody do volané metody a k vrácení dat z volané metody do volající metody. |
Funkčnost | |
Při použití klíčového slova out lze data předat 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ána z volající metody volané metodě a manipulovaná data jsou předána zpět volající metodě. |
Předávání údajů | |
Při použití klíčového slova out jsou data předávána jedním způsobem, což je volaná metoda volající metodě. | Při použití klíčového slova ref jsou data předávána dvěma způsoby, od volající metody k volané metodě a od volané metody volající metodě. |
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. C # má k dosažení tohoto cíle různé parametry. Hodnotové parametry se používají k předávání parametrů do metody podle hodnoty. Referenční parametry se používají k předání parametrů metodě odkazem. Výstupní parametry se používají k předání výsledku zpět z metody. V C # se pro výstupní parametry používá klíčové slovo out a klíčové slovo ref se používá k odkazování na parametry. Rozdíl mezi out a ref v C # spočívá v tom, že out je klíčové slovo používané k odkazování na výstupní parametr, 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í na referenční parametr, který se používá k předávání dat z volací metoda na volanou metodu a pro příjem dat z volané metody na volací metodu.
Stáhněte si PDF out vs ref v C #
Můžete si stáhnout PDF verzi tohoto článku a použít ji pro offline účely podle citace. Stáhněte si verzi PDF zde: Rozdíl mezi Out a Ref v C #