


Wie wirkt sich das Schlüsselwort „ref' auf Referenztypvariablen in C# aus?
Nutzung von „ref“ für Referenztyp-Variablen in C#
In C# übergeben Referenztyp-Variablen, wie z. B. Klassen, von Natur aus a Verweis auf ihre Speicheradresse, wenn sie als Methodenparameter übergeben werden, anstatt den gesamten Wert zu kopieren. Das Schlüsselwort „ref“ führt dieses Verhalten jedoch noch einen Schritt weiter und ermöglicht eindeutige Manipulationen mit Variablen vom Referenztyp.
Unterscheidung von ref- und Nicht-ref-Parametern vom Referenztyp
Bei der Übergabe einer Referenztypvariablen an eine Methode ohne das Schlüsselwort „ref“, wie im Beispiel zu sehen:
void Bar(Foo y) { y.Name = "2"; }
Der Parameter „y“ erhält eine Referenz auf dasselbe Objekt wie die ursprüngliche Variable. Allerdings werden alle innerhalb der Methode an „y“ vorgenommenen Änderungen nicht in der Originalvariablen widergespiegelt.
Andererseits wird das Schlüsselwort „ref“ verwendet, wie in:
void Bar(ref Foo y) { y.Name = "2"; }
Stellt eine Verbindung zwischen der Originalvariablen und dem Parameter „y“ her. „y“ verweist nicht nur auf dasselbe Objekt, sondern alle an „y“ vorgenommenen Änderungen wirken sich direkt auf die ursprüngliche Variable aus.
Ändern von Referenzzeigern
Ein einzigartiger Vorteil von Die Verwendung von „ref“ mit Variablen vom Referenztyp liegt in der Möglichkeit, die Referenz selbst zu ändern. Dies bedeutet, dass Sie die ursprüngliche Variable im Wesentlichen neu zuweisen können, um auf ein anderes Objekt zu verweisen. Zum Beispiel:
Foo foo = new Foo("1"); void Bar(ref Foo y) { y = new Foo("2"); } Bar(ref foo); // foo.Name == "2"
Hier ändert die Methode „Bar“ den Verweis von „foo“, sodass er auf ein neues Objekt zeigt, dessen Eigenschaft „Name“ auf „2“ gesetzt ist. Folglich verweist die ursprüngliche Variable „foo“ nun auf das neu erstellte Objekt mit der geänderten Eigenschaft.
Daher gewährt das Schlüsselwort „ref“ mit Variablen vom Referenztyp Entwicklern die Möglichkeit, beide Eigenschaften des referenzierten Objekts zu ändern und ändern Sie die Referenz selbst, um mehr Flexibilität und Kontrolle über das variable Verhalten innerhalb von Methoden zu bieten.
Das obige ist der detaillierte Inhalt vonWie wirkt sich das Schlüsselwort „ref' auf Referenztypvariablen in C# aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Welche Werte sind von C -Sprachfunktionen zurückgegeben? Was bestimmt den Rückgabewert?

GULC: C -Bibliothek von Grund auf neu gebaut

C Sprachfunktionsformat -Buchstaben -Fall -Konvertierungsschritte

Was sind die Definitionen und Aufrufregeln von C -Sprachfunktionen und was sind die?

Wo ist der Rückgabewert der C -Sprachfunktion im Speicher?

eindeutiger Gebrauch und Phrasenfreigabe

Wie benutze ich Algorithmen aus der STL (sortieren, finden, transformieren usw.) effizient?

Wie funktioniert die C -Standard -Vorlagenbibliothek (STL)?
