Referans Geçirmek : Stack’te bulunan alanın adresinin geçirilmesidir.

C’deki & operatörüyle alınan adres bilgisi, C#’ta ref anahtar sözcüğüyle yakalanabilir!

Referans parametresi, bir değişkenin Bellek Hafızasında bulununan konumuna referanstır.

Parametreleri referans olarak iletiğimizde, değer parametlerinden farklı olarak, bu parametreler için Bellek hafızasında yeni bir depolama yeri oluşturmaz. Referans parametleri, methoda gönderilen değişkenin aynı bellek alanını temsil eder.
ref anahtar sözcüğünü kullanarak referans parametrelerini bildirebiliriz.

Aşağıdaki örneklerle tam manasıyla oturmuş olacaktır.

 static void DegerDegistir(ref int sayi)
 {
    sayi = 1000;
 }
static void DiziBoyutlandir(ref int[] sayilar, int yeniBoyut)
        {
            int[] yeniDizi = new int[yeniBoyut];

            for (int i = 0; i < sayilar.Length; i++)
            {
                yeniDizi[i] = sayilar[i];
            }

            sayilar = yeniDizi;
        }
 #region Alıştırma I
            int a = 5;
            DegerDegistir(ref a);
            Console.WriteLine(a.ToString());



            int[] tamSayilar = { 4, 5, 2, 3 };
            DiziBoyutlandir(ref tamSayilar, 10);
            Console.WriteLine(tamSayilar.Length.ToString());
 #endregion