Kluczowa różnica - out vs ref w C #
C # to nowoczesny język programowania opracowany przez firmę Microsoft. Służy do tworzenia różnych aplikacji na komputery stacjonarne, internetowe i mobilne. Funkcje lub metody to pojęcie w programowaniu. Ta grupa instrukcji, które są używane do wykonania określonego zadania, nazywana jest funkcją lub metodą. W programach C # wykonywanie zaczyna się od main (). To jest przykład metody. Podczas wywoływania metody dane są przekazywane do metody lub odbierane z metody. Metoda, która wywołuje nową metodę, jest nazywana wywołaniem metody. Nowa metoda jest nazywana metodą wywoływaną. Do zarządzania przekazywanymi wartościami i odzyskiwania wyniku C # używa parametrów. Są to wartościowe parametry, parametry wyjściowe i parametry odniesienia. Parametry wartości służą do przekazywania parametrów do metody według wartości. Parametry referencyjne służą do przekazywania parametrów do metody przez odwołanie. Parametry wyjściowe służą do przekazania wyniku z powrotem z metody. W języku C # słowo kluczowe out jest używane do parametrów wyjściowych, a słowo kluczowe ref jest używane do odwoływania się do parametrów. Kluczowa różnica między out i ref w C # polega na tym, że out jest słowem kluczowym używanym do odwoływania się do parametru wyjściowego używanego do przekazywania wyników z wywoływanej metody do metody wywołującej, podczas gdy ref jest słowem kluczowym odwołującym się do parametru referencyjnego używanego do przekazywania dane z metody wywołującej do metody wywołującej i odebrać dane z metody wywołującej do metody wywołującej.out jest słowem kluczowym używanym do odesłania parametru wyjściowego, który jest używany do przekazywania wyników z wywołanej metody do metody wywołującej, podczas gdy ref jest słowem kluczowym odnoszącym się do parametru referencyjnego używanego do przekazywania danych z metody wywołującej do metody wywołującej i do odbierania danych z wywoływanej metody do metody wywołującej.out jest słowem kluczowym używanym do odesłania parametru wyjściowego, który jest używany do przekazywania wyników z wywołanej metody do metody wywołującej, podczas gdy ref jest słowem kluczowym odnoszącym się do parametru referencyjnego używanego do przekazywania danych z metody wywołującej do metody wywołującej i do odbierania danych z wywoływanej metody do metody wywołującej.
ZAWARTOŚĆ
1. Przegląd i kluczowa różnica
2. Co jest w C #
3. Co jest ref w C #
4. Podobieństwa między out i ref w C #
5. Porównanie obok siebie - out vs ref w C # w formie tabelarycznej
6. Podsumowanie
Co się dzieje w C #?
Składnia funkcji lub metody jest następująca. Metoda ma wiele elementów, takich jak nazwa metody, lista parametrów, typ zwracanej wartości i specyfikator dostępu.
(lista parametrów)
{// instrukcje do wykonania
}
Każda metoda ma unikalną metodę wywołania funkcji. Instrukcje wykonywalne znajdują się w nawiasach klamrowych. Typ zwracany wyjaśnia, czy funkcja zwraca wartość, czy nie. Gdy nie ma typu zwracanego, nazywa się void. Specyfikator dostępu służy do określania dostępności metody w aplikacji. Parametry służą do odbierania lub przekazywania danych do metody. Mogą istnieć również metody bez parametrów. Parametry mogą być parametrami wartościowymi, parametrami wyjściowymi lub parametrami odniesienia.
Parametry wyjściowe służą do przekazywania wyników z powrotem do metody wywołującej. W tym celu należy zadeklarować parametr ze słowem kluczowym out. Parametr wyjściowy nie tworzy nowego miejsca przechowywania. Ogólnie metoda zwraca jedną wartość. Ale w C # możliwe jest zwrócenie dwóch wartości z funkcji przy użyciu parametrów wyjściowych. Zapoznaj się z poniższym programem.
namespace application1 {
Public class Calculation {
public void display (out int a, out int b) {
wartość int = 5;
a = wartość;
b = wartość;
a = a * a;
b = b * b;
}
public static void main (String args) {
int wartość1 = 10, wartość2 = 20;
Calculation cal = new Calculation ();
cal. display (out value1, out value2);
Console. ReadLine ();
}
}
}
Funkcja wyświetlania jest wywoływana z metody głównej. Wartości 1 i 2 mają 10 i 20, ale nie są uwzględniane w metodzie. Wartość a wynosi 25, a wartość b również wynosi 25 w funkcji. Dlatego te wartości są zwracane. Podczas wypisywania wartość1 i wartość2 nie da 10 i 20. Zamiast tego wypisze 25 i 25. Używając słowa kluczowego out, metoda może zwrócić wiele wartości.
Co to jest ref w C #?
Podczas przekazywania parametrów według wartości dla każdego parametru jest tworzone nowe miejsce przechowywania. Rzeczywiste parametry wysłane z programu głównego nie ulegają zmianie. Zamiast tego te wartości są kopiowane do oddzielnej lokalizacji. Te nowe kopie zmiennych nazywane są parametrami formalnymi. Zapoznaj się z poniższym kodem.
namespace application1 {
Public class Calculation {
public void swap (int x, int y) {
int temp;
temp = x;
x = y;
y = temp;
}
public static void main (String args) {
Calculation cal = new Calculation ();
int p = 2;
int q = 3;
cal.swap (p, q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}
}
}
Zgodnie z powyższym programem klasa Calculation posiada metodę swap (). W programie głównym tworzony jest obiekt typu Obliczenia. Istnieją dwie wartości, takie jak p i q. Zmienna p ma wartość 2, a zmienna q ma wartość 3. Te dwie wartości są przekazywane do metody swap. W metodzie zamiany wartość 2 jest kopiowana do zmiennej x, a wartość 3 do zmiennej y. Używając zmiennej temp, wartości są zamieniane. W głównym programie podczas drukowania p i q wartości nie są zamieniane. Wartość p nadal wynosi 2, a wartość q wynosi 3. Nawet w metodzie swap wartości są zamieniane, ale nie jest to odzwierciedlane w programie głównym.
W przeciwieństwie do przekazywania wartości jak powyżej, możliwe jest przekazywanie parametrów przez odwołanie. Zmienna odniesienia jest odniesieniem do lokalizacji pamięci. Nie ma nowego miejsca w pamięci. Zmiany w metodzie odzwierciedlone w programie głównym. W języku C # do parametrów odniesienia odwołuje się słowo kluczowe ref. Zapoznaj się z poniższym programem.
namespace application1 {
Public class Calculation {
public void swap (ref int x, ref int y) {
int temp;
temp = x;
x = y;
y = temp;
}
public static void main (String args) {
Calculation cal = new Calculation ();
int p = 2;
int q = 3;
cal.swap (ref p, ref q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}
}
}
Zgodnie z powyższym programem klasa Calculation posiada metodę swap. W programie głównym tworzony jest obiekt typu Obliczenia. Istnieją dwie zmienne, takie jak p i q. Zmienna p ma wartość 2, a zmienna q ma wartość 3. Zamiast przekazywać wartości, do metody przekazywane są odwołania do miejsc w pamięci p i q. Te zmienne odniesienia są określane za pomocą ref. W metodzie zamiany, zamiast kopiowania wartości do nowej lokalizacji, zmiany są wprowadzane w rzeczywistych parametrach. Podczas drukowania wartości p i q programu głównego, zwróci zamienione wartości. Teraz wartość p wynosi 3, a wartość q wynosi 2.
Jakie jest podobieństwo między out i ref w C #?
Oba są słowami kluczowymi używanymi do odwoływania się do parametrów metody
Jaka jest różnica między out i ref w C #?
Porównaj środek artykułu przed tabelą
out vs ref w C # |
|
Out jest słowem kluczowym w C #, które służy do odwoływania się do parametru wyjściowego. Służy do przekazywania wyników wywoływanej metody do wywołania metody. | Ref jest słowem kluczowym w C #, które służy do odwoływania się do parametru odwołania. Służy do przekazywania danych z wywołującej metody do wywoływanej metody oraz do zwracania danych z wywoływanej metody do wywołującej metody. |
Funkcjonalność | |
W przypadku użycia słowa kluczowego out dane mogą być przekazywane z metody wywołującej do metody wywoływanej. Ale te dane są odrzucane. Służy do przekazania wyniku do metody wywołującej z wywołanej metody. | W przypadku użycia słowa kluczowego ref dane są przekazywane z metody wywołującej do wywoływanej metody, a zmanipulowane dane są przekazywane z powrotem do metody wywołującej. |
Przekazywanie danych | |
W przypadku użycia słowa kluczowego out dane są przekazywane w jeden sposób, który jest metodą wywoływaną do metody wywołującej. | W przypadku użycia słowa kluczowego ref dane są przesyłane na dwa sposoby: od wywołania metody do wywoływanej metody iz wywoływanej metody do metody wywołującej. |
Podsumowanie - out vs ref w C #
Podczas wywoływania metody może być konieczne przekazanie wartości do metody i odzyskanie wyników z metody. C # ma różne parametry, aby to osiągnąć. Parametry wartości służą do przekazywania parametrów do metody według wartości. Parametry referencyjne służą do przekazywania parametrów do metody przez odwołanie. Parametry wyjściowe służą do przekazania wyniku z powrotem z metody. W języku C # słowo kluczowe out jest używane do parametrów wyjściowych, a słowo kluczowe ref jest używane do odwoływania się do parametrów. Różnica między out i ref w C # polega na tym, że out jest słowem kluczowym używanym do odwoływania się do parametru wyjściowego, który jest używany do przekazywania wyników z wywoływanej metody do metody wywołującej, podczas gdy ref jest słowem kluczowym odwołującym się do parametru referencyjnego używanego do przekazywania danych z wywołanie metody do wywoływanej metody i odebranie danych z wywoływanej metody do metody wywołującej.
Pobierz plik PDF out vs ref w C #
Możesz pobrać wersję PDF tego artykułu i używać jej w trybie offline, zgodnie z notą cytatową. Pobierz wersję PDF tutaj: Różnica między Out i Ref w C #