Hauptunterschied - out vs ref in C #
C # ist eine moderne Programmiersprache, die von Microsoft entwickelt wurde. Es wird zur Entwicklung verschiedener Anwendungen für Desktop, Web und Mobile verwendet. Funktionen oder Methoden sind ein Konzept in der Programmierung. Diese Gruppe von Anweisungen, die zum Ausführen einer bestimmten Aufgabe verwendet werden, wird als Funktion oder Methode bezeichnet. In C # -Programmen beginnt die Ausführung mit main (). Es ist ein Beispiel für eine Methode. Beim Aufruf einer Methode werden Daten an die Methode übergeben oder von der Methode empfangen. Die Methode, die die neue Methode aufruft, wird als Aufrufen der Methode bezeichnet. Die neue Methode wird als aufgerufene Methode bezeichnet. Für die Verwaltung der übergebenen Werte und die Rückgabe des Ergebnisses verwendet C # Parameter. Sie sind Wertparameter, Ausgabeparameter und Referenzparameter. Die Wertparameter werden verwendet, um Parameter nach Wert an die Methode zu übergeben. Die Referenzparameter werden verwendet, um Parameter als Referenz an die Methode zu übergeben. Die Ausgabeparameter werden verwendet, um das Ergebnis von der Methode zurückzugeben. In C # wird das Schlüsselwort out für Ausgabeparameter und das Schlüsselwort ref zum Referenzieren von Parametern verwendet. Der Hauptunterschied zwischen out und ref in C # besteht darin, dass out ein Schlüsselwort ist, mit dem ein Ausgabeparameter referenziert wird, mit dem Ergebnisse der aufgerufenen Methode an die aufrufende Methode übergeben werden, während ref ein Schlüsselwort ist, um einen Referenzparameter zu referenzieren, der zum Übergeben verwendet wird Daten von der aufrufenden Methode zur aufgerufenen Methode und zum Empfangen der Daten von der aufgerufenen Methode zur aufrufenden Methode.out ist ein Schlüsselwort, mit dem ein Ausgabeparameter referenziert wird, mit dem Ergebnisse der aufgerufenen Methode an die aufrufende Methode übergeben werden, während ref ein Schlüsselwort ist, mit dem ein Referenzparameter referenziert wird, mit dem Daten von der aufrufenden Methode an die aufgerufene Methode übergeben und die Daten empfangen werden von der aufgerufenen Methode zur aufrufenden Methode.out ist ein Schlüsselwort, mit dem ein Ausgabeparameter referenziert wird, mit dem Ergebnisse der aufgerufenen Methode an die aufrufende Methode übergeben werden, während ref ein Schlüsselwort ist, mit dem ein Referenzparameter referenziert wird, mit dem Daten von der aufrufenden Methode an die aufgerufene Methode übergeben und die Daten empfangen werden von der aufgerufenen Methode zur aufrufenden Methode.
INHALT
1. Übersicht und Hauptunterschied
2. Was ist in C # heraus
? 3. Was ist in C # ref.
4. Ähnlichkeiten zwischen out und ref in C #
5. Nebeneinander Vergleich - out gegen ref in C # in tabellarischer Form
6. Zusammenfassung
Was ist in C # raus?
Die Syntax für die Funktion oder eine Methode lautet wie folgt. Eine Methode enthält eine Reihe von Elementen wie Methodenname, Parameterliste, Rückgabetyp und Zugriffsspezifizierer.
(Parameterliste)
{// auszuführende Anweisungen
}}
Jede Methode verfügt über eine eindeutige Methode zum Ausführen des Funktionsaufrufs. Die ausführbaren Anweisungen befinden sich in geschweiften Klammern. Der Rückgabetyp erklärt, ob die Funktion einen Wert zurückgibt oder nicht. Wenn es keinen Rückgabetyp gibt, wird er als ungültig bezeichnet. Der Zugriffsspezifizierer wird verwendet, um die Methodenzugriffsmöglichkeit in der Anwendung anzugeben. Die Parameter werden verwendet, um Daten zu empfangen oder an die Methode zu übergeben. Es kann auch Methoden ohne Parameter geben. Parameter können Wertparameter, Ausgabeparameter oder Referenzparameter sein.
Die Ausgabeparameter werden verwendet, um die Ergebnisse an die aufrufende Methode zurückzugeben. Dazu sollte der Parameter mit dem Schlüsselwort out deklariert werden. Der Ausgabeparameter erstellt keinen neuen Speicherort. Im Allgemeinen gibt eine Methode einen Wert zurück. In C # ist es jedoch möglich, zwei Werte von einer Funktion unter Verwendung von Ausgabeparametern zurückzugeben. Siehe das folgende Programm.
Namespace application1 {
öffentliche Klasse Berechnung {
öffentliche Leerenanzeige (out int a, out int b) {
int value = 5;
a = Wert;
b = Wert;
a = a * a;
b = b * b;
}}
public static void main (String args) {
int Wert1 = 10, Wert2 = 20;
Berechnung cal = neue Berechnung ();
cal.display (out value1, out value2);
Console. ReadLine ();
}}
}}
}}
Die Anzeigefunktion wird von der Hauptmethode aufgerufen. Der Wert 1 und der Wert zwei haben 10 und 20, werden jedoch nicht in die Methode übernommen. Der Wert von a ist 25 und der Wert von b ist ebenfalls 25 in der Funktion. Daher werden diese Werte zurückgegeben. Beim Drucken von Wert1 und Wert2 werden nicht 10 und 20 ausgegeben. Stattdessen werden 25 und 25 gedruckt. Mit dem Schlüsselwort out können mehrere Werte von der Methode zurückgegeben werden.
Was ist ref in C #?
Bei der Übergabe von Parametern nach Wert wird für jeden Parameter ein neuer Speicherort erstellt. Die tatsächlichen Parameter, die vom Hauptprogramm gesendet wurden, ändern sich nicht. Stattdessen werden diese Werte an einen separaten Speicherort kopiert. Diese neuen variablen Kopien werden als formale Parameter bezeichnet. Siehe den folgenden Code.
Namespace application1 {
öffentliche Klasse Berechnung {
öffentlicher Leertausch (int x, int y) {
int temp;
temp = x;
x = y;
y = temp;
}}
public static void main (String args) {
Berechnung cal = neue Berechnung ();
int p = 2;
int q = 3;
cal.swap (p, q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}}
}}
}}
Gemäß dem obigen Programm verfügt die Berechnungsklasse über eine Methode swap (). Im Hauptprogramm wird ein Objekt vom Typ Berechnung angelegt. Es gibt zwei Werte wie p und q. Die Variable p hat den Wert 2 und die Variable q hat den Wert 3. Diese beiden Werte werden an die Swap-Methode übergeben. Bei der Swap-Methode wird der Wert 2 in die Variable x und der Wert 3 in die Variable y kopiert. Mit der temporären Variablen werden die Werte vertauscht. Zurück im Hauptprogramm werden beim Drucken von p und q die Werte nicht vertauscht. Der p-Wert ist immer noch 2 und der q-Wert ist 3. Selbst bei der Swap-Methode werden die Werte vertauscht, spiegeln sich jedoch nicht im Hauptprogramm wider.
Im Gegensatz zur Übergabe von Werten wie oben ist es möglich, Parameter als Referenz zu übergeben. Eine Referenzvariable ist eine Referenz auf den Speicherort. Es wird kein neuer Speicherort erstellt. Die Änderungen in der Methode spiegeln sich im Hauptprogramm wider. In C # werden die Referenzparameter mit dem Schlüsselwort ref referenziert. Siehe das folgende Programm.
Namespace application1 {
öffentliche Klasse Berechnung {
öffentlicher Leertausch (ref int x, ref int y) {
int temp;
temp = x;
x = y;
y = temp;
}}
public static void main (String args) {
Berechnung cal = neue Berechnung ();
int p = 2;
int q = 3;
cal.swap (ref p, ref q);
Console. WriteLine (p);
Console. WriteLine (q);
Console. ReadLine ();
}}
}}
}}
Gemäß dem obigen Programm hat die Klasse Berechnung die Swap-Methode. Im Hauptprogramm wird ein Objekt vom Typ Berechnung angelegt. Das sind zwei Variablen wie p und q. Die Variable p hat den Wert 2 und die Variable q hat den Wert 3. Anstatt Werte zu übergeben, wird der Verweis auf die Speicherstellen von p und q an die Methode übergeben. Diese Referenzvariablen werden mit ref referenziert. Bei der Swap-Methode werden die Änderungen an den tatsächlichen Parametern vorgenommen, anstatt die Werte an einen neuen Speicherort zu kopieren. Beim Drucken der p- und q-Werte des Hauptprogramms werden die vertauschten Werte angezeigt. Jetzt ist der p-Wert 3 und der q-Wert 2.
Was ist die Ähnlichkeit zwischen out und ref in C #?
Beides sind Schlüsselwörter, mit denen auf die Parameter einer Methode verwiesen wird
Was ist der Unterschied zwischen out und ref in C #?
Diff Artikel Mitte vor Tabelle
out vs ref in C # |
|
Out ist ein Schlüsselwort in C #, mit dem auf einen Ausgabeparameter verwiesen wird. Es wird verwendet, um die Ergebnisse einer aufgerufenen Methode an den Aufruf der Methode zu übergeben. | Die Referenz ist ein Schlüsselwort in C #, mit dem auf einen Referenzparameter verwiesen wird. Es wird verwendet, um Daten von der aufrufenden Methode an die aufgerufene Methode zu übergeben und Daten von der aufgerufenen Methode an die aufrufende Methode zurückzugeben. |
Funktionalität | |
Bei Verwendung des Schlüsselworts out können die Daten von der aufrufenden Methode an die aufgerufene Methode übergeben werden. Diese Daten werden jedoch verworfen. Es wird verwendet, um das Ergebnis von der aufgerufenen Methode an die aufrufende Methode zu übergeben. | Bei Verwendung des Schlüsselworts ref werden die Daten von der aufrufenden Methode an die aufgerufene Methode übergeben und die manipulierten Daten an die aufrufende Methode zurückgegeben. |
Datenübergabe | |
Bei Verwendung des Schlüsselworts out werden die Daten auf eine Weise übergeben, die eine aufgerufene Methode ist, an die aufrufende Methode. | Bei Verwendung des Schlüsselworts ref werden die Daten auf zwei Arten übergeben: von der aufrufenden Methode zur aufgerufenen Methode und von der aufgerufenen Methode zur aufrufenden Methode. |
Zusammenfassung - out vs ref in C #
Beim Aufrufen einer Methode kann es erforderlich sein, die Werte an die Methode zu übergeben und die Ergebnisse der Methode zurückzugewinnen. C # hat verschiedene Parameter, um dies zu erreichen. Die Wertparameter werden verwendet, um Parameter nach Wert an die Methode zu übergeben. Die Referenzparameter werden verwendet, um Parameter als Referenz an die Methode zu übergeben. Die Ausgabeparameter werden verwendet, um das Ergebnis von der Methode zurückzugeben. In C # wird das Schlüsselwort out für Ausgabeparameter und das Schlüsselwort ref zum Referenzieren von Parametern verwendet. Der Unterschied zwischen out und ref in C # besteht darin, dass out ein Schlüsselwort ist, mit dem ein Ausgabeparameter referenziert wird, mit dem Ergebnisse von der aufgerufenen Methode an die aufrufende Methode übergeben werden, während ref ein Schlüsselwort ist, mit dem ein Referenzparameter referenziert wird, mit dem Daten übergeben werden Aufruf der Methode zur aufgerufenen Methode und zum Empfangen der Daten von der aufgerufenen Methode zur aufrufenden Methode.
Laden Sie das PDF von out vs ref in C # herunter
Sie können die PDF-Version dieses Artikels herunterladen und gemäß Zitierhinweis für Offline-Zwecke verwenden. Bitte laden Sie die PDF-Version hier herunter: Unterschied zwischen Out und Ref in C #