Saya mengerti bahwa jika saya meneruskan tipe-nilai ( int,, structdll.) Sebagai parameter (tanpa refkata kunci), salinan variabel tersebut diteruskan ke metode, tetapi jika saya menggunakan refkata kunci, referensi ke variabel tersebut diteruskan, bukan yang baru.
Tetapi dengan tipe referensi, seperti kelas, bahkan tanpa refkata kunci, referensi diteruskan ke metode, bukan salinan. Jadi apa gunanya refkata kunci dengan tipe referensi?
Ambil contoh:
var x = new Foo();
Apa perbedaan antara yang berikut ini?
void Bar(Foo y) {
y.Name = "2";
}
dan
void Bar(ref Foo y) {
y.Name = "2";
}
