Ich verstehe , dass , wenn ich einen Wert vom Typ Pass ( int
, struct
, etc.) als Parameter (ohne das ref
Schlüsselwort), wird eine Kopie dieser Variablen auf die Methode übergeben wird, aber wenn ich die Verwendung ref
Schlüsselwort ein Verweis auf diese Variable übergeben wird , kein neuer.
Bei Referenztypen wie Klassen wird jedoch auch ohne das ref
Schlüsselwort eine Referenz an die Methode übergeben, keine Kopie. Wozu dient das ref
Schlüsselwort bei Referenztypen?
Nehmen Sie zum Beispiel:
var x = new Foo();
Was ist der Unterschied zwischen den folgenden?
void Bar(Foo y) {
y.Name = "2";
}
und
void Bar(ref Foo y) {
y.Name = "2";
}