Yazılım Notları
Bilgi Paylaştıkça Çoğalır...

Conditional Operator (?) Kullanımı

Bazı durumlarda, tek satırda "if then else" yazımı yazılan kodun okunabilirliği açısından çok önemli olabilir. ? kullanarak "if then else" kalıbının nasıl kullanılacağı bu yazıda gösterilmiştir.

        
        "?" ve ":" kullanılarak if then else kalıbının nasıl kullanıldığını görmek için, basit bir fonksiyon yazalım. Şu anki tarihi [gg.aa] (sadece gün ve ay) formatında yazdıran bir olsun. 

        Fonksiyonun özellikle, gün ve ay'ı iki haneli olarak yazması gereksin.
        Bu durumda, tarihYaz fonksiyonumuz şu şekilde olacaktır:

 

public string tarihYaz()

       {

            int gun = DateTime.Now.Day;

            int ay = DateTime.Now.Month;

 

            string strGun, strAy;

            if (gun < 10)

               strGun = "0" +gun.ToString();

            else

               strGun = gun.ToString();

 

            if (ay < 10)

               strAy = "0" +ay.ToString();

            else

               strAy = ay.ToString();

 

        

            return strGun + "."+ strAy + ".";

 


 


        }

        Aynı fonksiyonu şu şekilde de yazabiliriz. Bu şekilde daha okunaklı bir kod blogumuz olur:

 

 

 public string tarihYaz()

        {

            int gun = DateTime.Now.Day;

            int ay = DateTime.Now.Month;

 

            strGun = gun < 10 ? "0" + gun.ToString() : gun.ToString();

            strAy = ay < 10 ? "0" +ay.ToString() : ay.ToString();

 

            return strGun + "."+ strAy + ".";

  }

 


 


 



        
        Burada önemli olan, "?" ve ":" kullanarak yazılmış olan fonksiyonu nasıl okuyacağımız. Dolayısıyla da, nasıl yazılacağıdır.

       
        
strGun=             :trGun değeri öyle bir stringe eşittir ki, 
       
 gun<10?             :eğer gun 10'dan küçükse
        "0"+gun.ToString() :başına 0(sıfır) ekle
        
:                   :değilse
              gun.ToString()  :gun sayısını strGun olarak set et.

        
        Yukarıdaki açıklamadan da anlaşılacağı gibi, böyle bir yazımda, "if" kelimesi iptal ediliyor(kullanılmıyor), then(C Sharp ta zaten yok aslında) yerine "?" kullanılıyor else yerine ise ":" kullanılıyor.

        Yani:

        
if (gun<10) ... else ...        = gun<10? ... : ...


        Daha okunabilir kodlar dileğimle,

        Kolay gelsin...

        
       

 

 

 

 

En Güzel Sözler Uygulaması İçin


Ana Sayfa       Arama       Valid CSS!
Sonraki Makale