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...

        
       

 

 

 

 

Banka Hesap Numaralarınızı, IBAN Numaralarınızı bir kere telefonunuza kaydedin. İhtiyaç duyduğunuzda elinizin altında olsun.

Banka Hesaplarım

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


En Çok Rating Alanlar
Ana Sayfa       Arama       Valid CSS!