Ich verstehe , dass , wenn ich einen Wert vom Typ Pass ( int, struct, etc.) als Parameter (ohne das refSchlüsselwort), wird eine Kopie dieser Variablen auf die Methode übergeben wird, aber wenn ich die Verwendung refSchlüsselwort ein Verweis auf diese Variable übergeben wird , kein neuer.
Bei Referenztypen wie Klassen wird jedoch auch ohne das refSchlüsselwort eine Referenz an die Methode übergeben, keine Kopie. Wozu dient das refSchlü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";
}
