Heim >Backend-Entwicklung >C++ >Out- und Ref-Parameter in C#: Wann sollten Sie welche verwenden?

Out- und Ref-Parameter in C#: Wann sollten Sie welche verwenden?

Barbara Streisand
Barbara StreisandOriginal
2025-01-20 11:51:08228Durchsuche

Out vs. Ref Parameters in C#: When Should You Use Which?

Wann sollte „out“ anstelle von „ref“ verwendet werden

Bei der Auswahl zwischen den Parametern „out“ und „ref“ ist die Standardauswahl „out“, es sei denn, „ref“ ist ausdrücklich erforderlich.

Der Unterschied zwischen Out und Ref

„ref“ ermöglicht einer Methode, den ursprünglichen Wert einer als Parameter übergebenen Variablen zu ändern, während „out“ diese Fähigkeit verbietet. Diese Unterscheidung wird entscheidend, wenn es um die Datenübertragung zwischen Prozessen oder Maschinen geht, da das Marshalling von Anfangswerten zu unnötiger Verarbeitung führen kann.

Geeignete Szenarien für die Verwendung von „out“

Stellen Sie sich das folgende Szenario vor:

<code class="language-c#">person.GetBothNames(out a, out b);</code>

Angenommen, „Person“ ist ein Objekt und „GetBothNames“ ist eine Methode, die zwei Werte abruft. Die Anfangswerte von „a“ und „b“ haben nichts mit der Funktionsweise der Methode zu tun. In diesem Fall ist die Verwendung von „in“ oder „out“ eine Frage der Präferenz, wobei „out“ die empfohlene Wahl ist, um unnötiges Marshalling von Anfangswerten zu vermeiden.

Szenarien, die für die Verwendung von „ref“ geeignet sind

Andererseits ist „ref“ angemessen, wenn die Änderung des Anfangswerts Teil der Absicht der Methode ist:

<code class="language-c#">bool didModify = validator.SuggestValidName(ref name);</code>

Der Parameter „name“ wird als Referenz übergeben, sodass die Methode „validator“ ihren Wert ändern und „didModify“ zurückgeben kann, um die Änderung anzuzeigen.

Kurz gesagt ist „out“ in den meisten Fällen die bessere Wahl, wenn der anfängliche Variablenwert nicht geändert werden muss, während „ref“ erforderlich ist, wenn solche Änderungen erforderlich sind.

Das obige ist der detaillierte Inhalt vonOut- und Ref-Parameter in C#: Wann sollten Sie welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn