Je comprends que si je passe une valeur de type ( int
, struct
, etc.) comme paramètre (sans le ref
mot - clé), une copie de cette variable est passée à la méthode, mais si j'utilise le ref
mot - clé une référence à cette variable est passée, pas un nouveau.
Mais avec les types référence, comme les classes, même sans le ref
mot - clé, une référence est passée à la méthode, pas une copie. Alors, quelle est l'utilisation du ref
mot - clé avec des types de référence?
Prends pour exemple:
var x = new Foo();
Quelle est la différence entre ce qui suit?
void Bar(Foo y) {
y.Name = "2";
}
et
void Bar(ref Foo y) {
y.Name = "2";
}