Sobes.tech
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.