Junior — Middle
Metodlara referans değişkenleri geçirirken ref ve out anahtar kelimeleri arasında ne gibi farklar vardır?
sobes.tech yapay zeka
AI'dan gelen yanıt
C#'ta, ref ve out anahtar kelimeleri referans yoluyla parametre iletmek için kullanılır, ancak önemli farklara sahiptir:
ref, değişkenin metoda gönderilmeden önce başlatılmasını gerektirir. Metod, değeri okuyabilir ve değiştirebilir.out, değişkenin önceden başlatılmasını gerektirmez, ancak metod, çıkmadan önce ona bir değer atamalıdır.
Örnek:
void ExampleRef(ref int x) {
x += 10; // okunabilir ve değiştirilebilir
}
void ExampleOut(out int y) {
y = 42; // zorunlu atama
}
int a = 5;
ExampleRef(ref a); // a'nın başlatılmış olması gerekir
int b; // başlatılmamış
ExampleOut(out b); // metod, b'ye değer atar
Bu nedenle, ref, mevcut bir değeri geçirmek ve değiştirmek istediğinizde kullanılır, out ise metodun birden fazla değeri parametreler aracılığıyla döndürmesi gerektiğinde kullanılır.