C# İsteğe Bağlı Parametreler

Merhaba arkadaşlar, bu yazımızda Parametreli Fonksiyonlara devam ediyoruz. Optional Arguments olarak tabir edilen, İsteğe bağlı argümanlar/parametreler olarak Türkçe karşılık bulan fonksiyonlara bakacağız. Normalde parametreli fonksiyonlar da ne yapıyorduk; bir parametre tanımlıyorduk. Şimdi ise herhangi bir parametre yollamasak dahi çalışan fonksiyonlara bakacağız.

Bir örnek üzerinden inceleyelim.

Yukarıda da gördüğünüz gibi sanki default değer tanımlar gibi yazıyoruz. Eğer y değeri gelmezse varsayılan olanı alıyor.

Adlandırılmış Parametreler

Adlandırılmış parametreler sizi bir fonksiyon çağırıldığında parametrelerin sırasını hatırlatma gereğinden kurtarır. Her bir parametre eşlediğimiz parametre adı ile belirtilir. Bunu bir örnek üzerinde göstereyim daha iyi anlarsınız.

Dikdörtgen Alanını bulmak için yükseklik ve genişlik değerleri gerekir. Örneğini aşağıdadır..

Bunu kullanmak için iki nokta üst üsteden sonra girilecek değeri yazıyoruz. Yukarıdaki örnekten anlaşılır umarım..

Parametrelere İletim

Bir fonksiyon çağırıldığında, fonksiyona parametreleri iletmek için 3 yol vardır. Değere göre, Referansa göre, Çıktı olarak.

Değere göre parametre değerini fonksiyonun resmi parametresine kopyalar. Burada, parametre üzerinde hiçbir etkisi olmadan, fonksiyon içindeki parametrede değişiklik yapabiliriz. C#’da varsayılan parametreli fonksiyon çağrısı bu şekildedir.

Yukarıdaki örnekte gördüğünüz gibi fonksiyon a değerinin başlangıç değerini değiştirmiyor. kare fonksiyonu değişken üzerinde değil değer üzerinde çalışmaktadır.

Referans ile İletim

Referans ile iletim de ise hafıza adresi resmi parametre üzerine kopyalanır. Bu da parametre de yapılan değişikliğin değişkeni etkilediği anlamına gelir. Değeri referansa iletmek için ref anahtar kelimesi kullanılır. Aşağıdaki örnekden daha iyi anlayabilirsiniz.

ref anahtar kelimesi; hafıza adresini, fonksiyonun gerçek değişkende çalışmasına izin veren fonksiyon parametresine iletir. ref anahtar kelimesi hem fonksiyonu tanımlarken hem de onu çağırırken kullanılır.

Çıktı Olarak İletim

Burada ise out anahtar kelimesi kullanılarak metotlar oluşturulur, fonksiyonu çağırırken de out anahtar kelimesi kullanılır. Bunu direkt örnek vermek istiyorum.

Örnekte görüldüğü gibi referans tip gibi davranır. Değerleri fonksiyona gönderdiğimizde bize out değerlerini gönderdiğimiz değişkene yazıp geri yollar.

Umarım faydalı olmuştur..

Bir cevap yazın