Key Difference - out vs ref in C #
C # este un limbaj de programare modern dezvoltat de Microsoft. Este folosit pentru dezvoltarea de diverse aplicații pentru desktop, web și mobil. Funcțiile sau metodele este un concept în programare. Acel grup de afirmații care sunt utilizate pentru a efectua o anumită sarcină este cunoscut ca funcție sau metodă. În programele C #, execuția începe de la main (). Este un exemplu de metodă. La apelarea unei metode, datele sunt transmise metodei sau primite de la metodă. Metoda care apelează noua metodă este cunoscută sub numele de apelare a metodei. Noua metodă este cunoscută sub numele de metoda numită. Pentru gestionarea valorilor trecătoare și recuperarea rezultatului, C # folosește parametri. Sunt parametri evaluați, parametri de ieșire și parametri de referință. Parametrii valorii sunt utilizați pentru trecerea parametrilor în metodă după valoare. Parametrii de referință sunt utilizați pentru a transmite parametrii către metodă prin referință. Parametrii de ieșire sunt utilizați pentru a transmite rezultatul înapoi din metodă. În C #, cuvântul cheie out este utilizat pentru parametrii de ieșire, iar cuvântul cheie ref este utilizat pentru referința parametrilor. Diferența cheie dintre out și ref în C # este că, out este un cuvânt cheie folosit pentru a trimite un parametru de ieșire care este utilizat pentru a transmite rezultatele de la metoda apelată la metoda de apelare în timp ce ref este un cuvânt cheie pentru a referi un parametru de referință care este folosit pentru a transmite date de la metoda de apelare la metoda apelată și pentru a primi datele de la metoda apelată la metoda de apelare.out este un cuvânt cheie folosit pentru a trimite un parametru de ieșire care este utilizat pentru a transmite rezultatele de la metoda apelată la metoda de apelare în timp ce ref este un cuvânt cheie pentru a trimite un parametru de referință care este utilizat pentru a transmite date de la metoda de apelare la metoda apelată și pentru a primi datele de la metoda apelată la metoda de apelare.out este un cuvânt cheie folosit pentru a trimite un parametru de ieșire care este utilizat pentru a transmite rezultatele de la metoda apelată la metoda de apelare în timp ce ref este un cuvânt cheie pentru a trimite un parametru de referință care este utilizat pentru a transmite date de la metoda de apelare la metoda apelată și pentru a primi datele de la metoda apelată la metoda de apelare.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este în C #
3. Ce este ref în C #
4. Asemănări între out și ref în C #
5. Comparație side by side - out vs ref în C # în formă tabelară
6. Rezumat
Ce este în C #?
Sintaxa funcției sau a unei metode este următoarea. O metodă are un număr de elemente, cum ar fi numele metodei, lista parametrilor, tipul de returnare și specificatorul de acces.
(lista parametrilor)
{// declarații de executat
}
Fiecare metodă are o metodă unică pentru a efectua apelul funcției. Instrucțiunile executabile se află în interiorul acoladelor. Tipul returnat explică dacă funcția returnează o valoare sau nu. Când nu există un tip de returnare, se numește nul. Specificatorul de acces este utilizat pentru a specifica metoda de accesibilitate în aplicație. Parametrii sunt utilizați pentru a primi sau transmite date către metodă. De asemenea, pot exista metode fără parametri. Parametrii pot fi parametri evaluați, parametri de ieșire sau parametri de referință.
Parametrii de ieșire sunt utilizați pentru a transmite rezultatele înapoi la metoda de apelare. Pentru aceasta, parametrul trebuie declarat cu cuvântul cheie out. Parametrul de ieșire nu creează o nouă locație de stocare. În general, o metodă returnează o valoare. Dar în C #, este posibil să se returneze două valori dintr-o funcție folosind parametrii de ieșire. Consultați programul de mai jos.
aplicație spațiu de nume1 {
calcul public class {
afișare publică nulă (out int a, out int b) {
valoarea int = 5;
a = valoare;
b = valoare;
a = a * a;
b = b * b;
}
public static void main (String args) {
valoarea int1 = 10, valoarea2 = 20;
Calcul cal = calcul nou ();
cal.display (out value1, out value2);
Console. ReadLine ();
}
}
}
Funcția de afișare este apelată din metoda principală. Valoarea 1 și valoarea doi au 10 și 20, dar nu sunt luate în considerare în metodă. Valoarea lui a este 25, iar valoarea lui b este, de asemenea, 25 în funcție. Prin urmare, acele valori sunt returnate. La tipărirea value1 și value2, nu va da 10 și 20. În schimb, va imprima 25 și 25. Folosind cuvântul cheie out, pot fi returnate mai multe valori din metodă.
Ce este ref în C #?
La trecerea parametrilor după valoare, se creează o nouă locație de stocare pentru fiecare parametru. Parametrii reali care au fost trimiși din programul principal nu se modifică. În schimb, acele valori sunt copiate într-o locație separată. Aceste noi copii variabile se numesc parametri formali. Consultați codul de mai jos.
aplicație spațiu de nume1 {
calcul public class {
swap public vid (int x, int y) {
int temp;
temp = x;
x = y;
y = temp;
}
public static void main (String args) {
Calcul cal = calcul nou ();
int p = 2;
int q = 3;
cal.swap (p, q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}
}
}
Conform programului de mai sus, clasa Calculation are o metodă swap (). În programul principal, este creat un obiect de tip Calcul. Există două valori, cum ar fi p și q. Variabila p are valoarea 2 și variabila q are valoarea 3. Aceste două valori sunt transmise metodei swap. În metoda swap, valoarea 2 este copiată în variabila x, iar valoarea 3 este copiată în variabila y. Folosind variabila temp, valorile sunt schimbate. Înapoi în programul principal, atunci când tipăriți p și q, valorile nu sunt schimbate. Valoarea p este încă 2 și valoarea q este 3. Chiar și în metoda swap, valorile sunt schimbate, dar nu se reflectă în programul principal.
Spre deosebire de trecerea valorilor de mai sus, este posibilă trecerea parametrilor prin referință. O variabilă de referință este o referință la locația memoriei. Nu există o locație nouă de memorie. Modificările metodei reflectate în programul principal. În C #, parametrii de referință sunt menționați utilizând cuvântul cheie ref. Consultați programul de mai jos.
aplicație spațiu de nume1 {
calcul public class {
swap de gol public (ref int x, ref int y) {
int temp;
temp = x;
x = y;
y = temp;
}
public static void main (String args) {
Calcul cal = calcul nou ();
int p = 2;
int q = 3;
cal.swap (ref p, ref q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}
}
}
Conform programului de mai sus, clasa Calculul are metoda swap. În programul principal, este creat un obiect de tip Calcul. Sunt două variabile precum p și q. Variabila p are valoarea 2 și variabila q are valoarea 3. Mai degrabă decât trecerea valorilor, referința la locațiile de memorie ale lui p și q sunt transmise metodei. Aceste variabile de referință sunt trimise folosind ref. În metoda swap, mai degrabă decât copierea valorilor într-o locație nouă, modificările sunt aduse parametrilor reali. Când tipăriți valorile p și q ale programului principal, acesta va da valorile schimbate. Acum valoarea p este 3 și valoarea q este 2.
Care este asemănarea dintre out și ref în C #?
Ambele sunt cuvinte cheie folosite pentru a referi parametrii unei metode
Care este diferența dintre out și ref în C #?
Difuzarea articolului din mijloc înainte de tabel
out vs ref in C # |
|
Ieșirea este un cuvânt cheie în C # care este utilizat pentru a referi un parametru de ieșire. Se folosește pentru a trece rezultatele dintr-o metodă apelată la apelarea metodei. | Referința este un cuvânt cheie din C # care este utilizat pentru a face referire la un parametru de referință. Se folosește pentru a transmite date de la metoda apelantă la metoda apelată și pentru a returna date de la metoda apelată la metoda apelantă. |
Funcționalitate | |
Când utilizați cuvântul cheie out, datele pot fi transmise de la metoda de apelare la metoda apelată. Dar aceste date sunt aruncate. Se folosește pentru a trece rezultatul la metoda apelantă din metoda apelată. | Când se utilizează cuvântul cheie ref, datele sunt transmise de la metoda apelantă la metoda apelată și datele manipulate sunt transmise înapoi la metoda apelantă. |
Transmiterea datelor | |
Atunci când utilizați cuvântul cheie out, datele sunt transmise într-un mod care este o metodă apelată la metoda de apelare. | Când se utilizează cuvântul cheie ref, datele sunt transmise în două moduri, de la metoda de apelare la metoda apelată și de la metoda apelată la metoda de apelare. |
Rezumat - ieșire vs ref în C #
Când invocați o metodă, ar putea fi necesar să treceți valorile în metodă și să obțineți rezultatele din metodă. C # are parametri diferiți pentru a realiza acest lucru. Parametrii valorii sunt utilizați pentru trecerea parametrilor în metodă după valoare. Parametrii de referință sunt utilizați pentru a transmite parametrii către metodă prin referință. Parametrii de ieșire sunt utilizați pentru a transmite rezultatul înapoi din metodă. În C #, cuvântul cheie out este utilizat pentru parametrii de ieșire, iar cuvântul cheie ref este utilizat pentru referința parametrilor. Diferența dintre out și ref în C # este că, out este un cuvânt cheie folosit pentru a referi un parametru de ieșire care este folosit pentru a transmite rezultatele de la metoda apelată la metoda de apelare în timp ce ref este un cuvânt cheie pentru a referi un parametru de referință care este utilizat pentru a transmite date de la metoda apelantă la metoda apelată și pentru a primi datele de la metoda apelată la metoda apelantă.
Descărcați PDF-ul out out ref în C #
Puteți descărca versiunea PDF a acestui articol și o puteți folosi în scopuri offline conform notei de citare. Vă rugăm să descărcați versiunea PDF aici: Diferența dintre Out și Ref în C #