RSS

>C# 4.0 – Optional Parameters

17 Dec

>Merhabalar;

Size C# 4.0’la gelen opsiyonel parametreleri anlatmaya çalışacağım.Programımızda metotlarımızı overload etmek kaçınılmaz olabiliyor bildiğiniz gibi.Ama her method overloading işlemi de bir kod kalabalığı getiriyor.Bu durumlarda opsiyonel parametrelerin getirdiği kolaylığı görelim.
İşlem yapacak bir metodumuz olsun;
public static double Islem(int a, int b , int c )
{
return a * b + c;
}
Öyle bir durum oldu ki metodumuza aktaracağımız parametreleri duruma göre kendimiz verip duruma göre default bırakmamız gerekti.Bunu gerçekleştirmek için aynı isimde başka bir metot yazmalıydık .Ancak şimdi C# 4.0 ile gelen Opsiyonel Parametre ile bunu yeni bir metot yazmadan gerçekleştirebiliriz. Opsiyonel parametrelerin yardımını burda alıyoruz.
Örneğin;
public static double Islem(int a, int b , int c = 1 )
{
return a * b + c;
}
Metodumuzu kullanalım;
Static void Main(string[] args)
{
Console.WriteLine(Islem(
Console.ReadLine();
}
Gördüğünüz gibi opsiyonel olarak tanımladığımız parametre köşeli parantez içinde gösteriliyor.Bu metodu kullanmak istersek;

Console.WriteLine(“İşlem Sonucu = “ + Islem(1, 2));

İşlemimizin sonucu 3 gelecektir.Ancak biz c parametresini kendimiz de verebiliriz.

Console.WriteLine(“İşlem Sonucu = “ + Islem(1, 2,3));

İşlemimizin sonucu 5 gelecektir.Yeni bir metot yazmadan bir farklı metotlar elde etmiş olduk.Şimdi 2 tane opsiyonel parametre kullanımına bir göz atalım.

public static double Islem(int a, int b = 2 , int c = 1 )

İstediğimiz kadar opsiyonel parametre kullanabiliriz ancak dikkat ettiğiniz gibi opsiyonel parametreler metodumuzun parametreleri arasında hep en sonda olmak zorundadır.

Örnek olarak bir kullanım görelim;

Console.WriteLine(“İşlem Sonucu = “ + Islem(1,c : 2));

Gördüğünüz gibi opsiyonel parametreleri sıralı olarak vermek zorunda değiliz.Burada b parametresi bizim atadığımız default değeri alırken c parametresini 2 olarak atamış olduk

Opsiyonel parametreleri kısaca anlatmaya çalıştım.Bir çok kolaylık sağladığını ve sağlayacağına emin olabilirsiniz.Sizi kod kalabalığından kurtaracaktır.

Herkese kolay gelsin🙂

 
Leave a comment

Posted by on December 17, 2009 in C#

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: