Unterschied zwischen Ref- und Out-Schlüsselwort in C#

Contents

Referenz in C#

Das Schlüsselwort ref in C# wird zum Übergeben oder Zurückgeben von Referenzen von Werten an oder von Methoden verwendet. Grundsätzlich bedeutet dies, dass jede Änderung an einem Wert, der als Referenz übergeben wird, diese Änderung widerspiegelt, da Sie den Wert an der Adresse und nicht nur den Wert ändern. Es kann in folgenden Fällen implementiert werden:

  • Übergeben eines Arguments an eine Methode durch seine Referenz.
  • Zum Definieren einer Methodensignatur zum Zurückgeben einer Referenz der Variablen.
  • So deklarieren Sie eine Struktur als Ref-Struktur
  • Als lokale Referenz

Was Sie über ref Keyword wissen müssen

  • Wenn eine Variable, der das Schlüsselwort ref vorangestellt ist, an eine Methode übergeben wird, spiegeln sich die innerhalb der Methode vorgenommenen Änderungen in ihrem ursprünglichen Wert wider. 
  • Das Schlüsselwort Ref wird verwendet, wenn eine aufgerufene Methode den übergebenen Parameter aktualisieren muss.
  • Das Übergeben des Werts durch den ref-Parameter ist nützlich, wenn die aufgerufene Methode auch den Wert des übergebenen Parameters ändern muss.
  • Wenn das Schlüsselwort ref verwendet wird, können die Daten bidirektional übertragen werden.
  • Es ist nicht erforderlich, den Wert eines Parameters zu initialisieren, bevor zur aufrufenden Methode zurückgekehrt wird.
  • Der ref-Parameter sollte initialisiert werden, bevor er an eine Methode übergeben wird. 
  • Beim Aufrufen, Deklarieren oder Definieren einer Methode wird der ref-Parameter explizit als ref deklariert.

Schlüsselwort out in C#

out ist ein Schlüsselwort in C#, das   für die Übergabe der Argumente an Methoden als Referenztyp verwendet wird. Es wird im Allgemeinen verwendet, wenn eine Methode mehrere Werte zurückgibt. Es macht den formalen Parameter zu einem Alias ​​für das Argument, das eine Variable sein muss. Mit anderen Worten, jede Operation am Parameter wird am Argument durchgeführt. Es ist wie das Schlüsselwort ref, außer dass ref erfordert, dass die Variable initialisiert wird, bevor sie übergeben wird.

Es ist auch wie das Schlüsselwort in, außer dass es der aufgerufenen Methode nicht erlaubt, den Argumentwert zu ändern. Um einen out-Parameter zu verwenden, müssen sowohl die Methodendefinition als auch die aufrufende Methode explizit das out-Schlüsselwort verwenden.

Was Sie über das Out-Keyword wissen müssen

  • Wenn einer an eine Methode übergebenen Variablen das Schlüsselwort out vorangestellt ist, gibt die Methode es ohne Verwendung des Schlüsselworts return zurück.
  • Das Out-Schlüsselwort wird verwendet, wenn eine aufgerufene Methode mehrere übergebene Parameter aktualisieren muss.
  • Das Deklarieren von Parameter durch Out-Parameter ist nützlich, wenn eine Methode mehrere Werte zurückgibt.
  • Wenn das Schlüsselwort out verwendet wird, werden die Daten nur unidirektional weitergegeben.
  • Es ist notwendig, den Wert eines Parameters zu initialisieren, bevor zur aufrufenden Methode zurückgekehrt wird.
  • Der out-Parameter muss innerhalb der Methode initialisiert werden, an die er übergeben wird.
  • Beim Aufrufen, Deklarieren oder Definieren einer Methode wird der out-Parameter explizit als out deklariert.

Lesen Sie auch: Unterschied zwischen Anaconda- und Python-Programmierung

Ref vs. Out-Schlüsselwort in tabellarischer Form

Grundlage des VergleichsRef-SchlüsselwortOut-Schlüsselwort
BeschreibungWenn eine Variable, der das Schlüsselwort ref vorangestellt ist, an eine Methode übergeben wird, spiegeln sich die innerhalb der Methode vorgenommenen Änderungen in ihrem ursprünglichen Wert wider. Wenn einer an eine Methode übergebenen Variablen das Schlüsselwort out vorangestellt ist, gibt die Methode es ohne Verwendung des Schlüsselworts return zurück.
VerwendenDas Schlüsselwort Ref wird verwendet, wenn eine aufgerufene Methode den übergebenen Parameter aktualisieren muss.Das Out-Schlüsselwort wird verwendet, wenn eine aufgerufene Methode mehrere übergebene Parameter aktualisieren muss.
ParameterDas Übergeben des Werts durch den ref-Parameter ist nützlich, wenn die aufgerufene Methode auch den Wert des übergebenen Parameters ändern muss.Das Deklarieren von Parameter durch Out-Parameter ist nützlich, wenn eine Methode mehrere Werte zurückgibt.
DatenWenn das Schlüsselwort ref verwendet wird, können die Daten bidirektional übertragen werden.Wenn das Schlüsselwort out verwendet wird, werden die Daten nur unidirektional weitergegeben.
Wert des ParametersEs ist nicht erforderlich, den Wert eines Parameters zu initialisieren, bevor zur aufrufenden Methode zurückgekehrt wird.Es ist notwendig, den Wert eines Parameters zu initialisieren, bevor zur aufrufenden Methode zurückgekehrt wird.
Äußerer ParameterDer ref-Parameter sollte initialisiert werden, bevor er an eine Methode übergeben wird. Der out-Parameter muss innerhalb der Methode initialisiert werden, an die er übergeben wird.
BerufungBeim Aufrufen, Deklarieren oder Definieren einer Methode wird der ref-Parameter explizit als ref deklariert.Beim Aufrufen, Deklarieren oder Definieren einer Methode wird der out-Parameter explizit als out deklariert.

Lesen Sie auch: Unterschied zwischen Int und Long

osky