Merhabalar,
Opsiyonel parametre kullanımı Visual Basic programcılarının aslında pek yabancı olmadıgı güzel bir özellik.Özellikle bol miktarda overload bulunduran class ların oldugu yapılarda çok büyük kolaylık sağlayabilir ( Daha az kod yazma , kolay anlaşılırlık ).
Örnek vermek gerekirse ;

yukarıda Topla dediğimde 2 sayıyı toplayacak ve Çarp dediğimde 2 sayıyı çarpacak bir fonksiyon yazdım.Ancak 3. bir parametre belirtmediğim zaman bu 2 sayının toplanmasını istiyorum.O zaman 4.0 öncesi imkanlarla aklıma gelen tek şey yeni bir overload oluşturmak.Ancak 4.0 ile beraber şunu söyleyebiliyorum.İşlem parametresi opsiyonel olsun ve varsayılan değeride Topla olsun.

istersem opsiyonel olan parametreyi kullanırım ve Çarp derim.Böylece varsayılan olan Topla parametre değeri ezilmiş olur.

böylece tek method ile işimi halletmiş oldum.Birden fazla opsiyonel parametrede kullanabilirdim ;

Burada en önemli kural opsiyonel parametre her zaman sonda tanımlanmak zorunda.
Peki ya bütün parametreler opsiyonel olsaydı ve ben sadece b değişkenine değer atamak isteseydim ?? o zaman nasıl yapacaktım ??

tabiyiki bu ihtimalde düşünülmüş , korkmaya gerek yok : ) Parametrenin adını yazarak değer ataması yapıyoruz.Şu şekilde;

direk 10 değerini methoda verseydik, a parametresi oldugunu düşenecek ve toplam 17 verecekti.
60ba0103-50cb-429c-a35f-ba5173ec0012|1|5.0