22.07.2010 11:13:10
İsimlendirilmiş (Named) ve Opsiyonel (Optional) Parametreler
C# 4.0 ile gelen yeniliklerden birisi de named ve optional parametrelerdir. Named parametreler sayesinde; metotlara değerleri gönderirken,parametre sıralarını gözetmeksizin adlarını belirterek parametre göndermemizi sağlar. Optional parametreler ile; metotları tanımlarken istediğimiz parametreye varsayılan değeri vererek, bu parametre değeri gönderilmediği taktirde alacağı değeri belirleriz.
Opsiyonel (Optional) Parametreler
Bu parametrelerin ne işe yaradığını yukarda anlatmıştık o yüzden örnek üzerinden gideceğiz :
class Program
{
static void Main(string[] args)
{
Opsiyonel("Yılmaz");//Çıktısı : a=5 ad=Burak soyad=Yılmaz
Opsiyonel("Yılmaz","Kemal Burak");//Çıktısı : a=5 ad=Kemal Burak soyad=Yılmaz
Opsiyonel("Yılmaz", "Kemal Burak", 58);//Çıktısı : a=58 ad=Kemal Burak soyad=Yılmaz
}
public static void Opsiyonel(string soyad,string ad = "Burak",int a = 5)
{
Console.WriteLine("a="+a.ToString()+" ad="+ad+" soyad="+soyad);
}
}
Örnekten de anlaşılacağı üzere opsiyonel parametrelere değer gönderdiğimde ; benim gönderdiğim değerler ekranda gözüktü. Fakat değer göndermediğimde ; önceden atadığım değerler ekranda gözüktü.
İsimlendirilmiş (Named) Parametreler
Bu tip parametrelerde; parametre sırası, hangi parametreye değer göndereceğimiz önemli, değildir. İstediğimiz parametreye istediğimiz değeri istediğimiz sırada gönderebiliriz:)…Örnek üzerinden gidelim :
class Program
{
static void Main(string[] args)
{
Opsiyonel(a:58,soyad:"Yılmaz");//Çıktısı : a=58 ad=Burak soyad=Yılmaz
Opsiyonel("Yılmaz", a: 58);//Çıktısı : a=58 ad=Burak soyad=Yılmaz
Opsiyonel(a: 58, ad: "Burak", soyad: "YILMAZ");//Çıktısı : a=58 ad=Burak soyad=YILMAZ
}
public static void Opsiyonel(string soyad,string ad = "Burak",int a = 5)
{
Console.WriteLine("a="+a.ToString()+" ad="+ad+" soyad="+soyad);
}
}
Örnekten konunun daha iyi anlaşıldığını düşünüyorum. Bu özellikler sayesinde metotlar daha kısa çağırılabilir ve bir metodun farklı overloadlarının da önüne geçilebilir.