Ana içeriğe atla

C# ?: Operatörü Kullanımı Ve Kullanım Yerleri

C# Develop, ?: Operatörü
C# programlama dilinde ?: Operatörü if else veya koşul ifadesini tek cümlede kullanmak için geliştirilmiş yöntemdir.. Basitçe if else yapısında bir koşul vardır. Bu koşul sağlanırsa buna uygun işlemleri, eğer koşul sağlanmazsa da ona uygun işlemleri yaparsınız. ?: operatörünün normal if else, switch case yapılarından farkı ise sadece iki koşullu olmasıdır. Koşul ifadesinin sadece iki durumu için işlem yapabilirsiniz. Oysa if else yapısı ele aldığımızda isteğimiz kadar else if ifadesini ekleyerek koşulları çoğaltabiliriz. Önemli olan konulardan bir tanesi de ?: operatörünün çok fazla kullanılmasının kod okunabilirliğini negatif yönde etkilemesidir. Buna rağmen bazı durumlarda bu operatörün kullanılması kod kalitesini artırabilir ve kodunuz daha profesyonel görünmesine neden olabilir.

Bu kısa bilgilerden sonra isterseniz örnekler üzerinden ?: operatörünün kullanımına ve kullanım alanlarına bakalım. 
Öncelikle basit bir if else koşulunun ?: operatörü ile kullanımına bakalım. Bunun için Microsoft tarafından hazırlanan C# dokümanlarındaki örneğin benzerini kullanacağım. Örneğin ilk kısmı normal if else yapısı, son kısmı ise ?: koşul ifadesi kullanılarak yapılmıştır.

int input = Convert.ToInt32(Console.ReadLine());
string sonuc;
 // if-else koşulu.
if (input > 0)
    sonuc = "positive";
else
 sonuc = "negative";

// ?: koşul operatoru.
sonuc = (input > 0) ? "positive" : "negative";

Örnek ele alındığında konun anlaşılması için idealdir. Öncelikle ?: operatörü ile önemli olan detayları ele alacak olursak:
1. ?: operatörü bir koşul operatörüdür.
2. ?: koşul operatörü iki durumlu koşulları tek satırda yazabilmek için tasarlanmıştır.
3. ?: koşul operatörünün temel mantığı koşul sonucunu return edebilmesi ile  alakalıdır. yukarıdaki örnekte olduğu gibi bir koşul ifadesi ve bu koşul ifadesinin doğru ve yanlış durumları için üretilmesi gereken sonuç.
4. Koşul ifadesinden sonraki sonuçların ikisi de aynı değişken türünden olmalıdır. Yani koşul sonuçlarından biri string, biri integer olmamalıdır.

Son olarak da ?: koşul operatörünün kullanım yerlerine bakalım. Öncelikle belirtmem gerekiyor ki bu operatörü kod içerisinde sürekli kullanmanız kod okunabilirliğini olumsuz etkileyecektir. Bu yüzden mümkün olduğu kadar bu operatörü doğru yerlerde kullanmaya dikkat etmelisin. Peki doğru yer neresidir diye sorarsanız da bunu bir örnekle göstermek istiyorum. 

select new TeslimatViewModel
                     {
                         TeslimatMiktar = teslimat.TeslimEdilmesiGerekenMiktar,
                         TeslimatYapildiMi = teslimat.Teslimat != null ? true : false
                     }).ToList(); 

Bu bir projenin Linq TO SQL sorgusundan alınmış bir parçadır. Bu örneği vermemin nedeni de aslında tam olarak bu ?: koşul ifadesinin kullanılması gereken yerde kullanılmış olması ile alakalı. Yukarıdaki örnekte operatörün kullanım mantığını anlattığım için burada sadece kullanım yeri olarak genelde tek cümlede sonuç üretmek zorunda kaldığınızda kullanın açıklamasının örneğidir..

Konu ile alakalı sorularınız olursa lütfen sormaktan çekinmeyin. En kısa sürede yanıtlamaya çalışacağım.

Yorumlar

Bu blogdaki popüler yayınlar

Medyan (Ortanca) Nedir? Nasıl Hesaplanır? Nerelerde Kullanılır?

Medyan işlemi olasılık hesaplamalarında sıkça kullanılan bir sayı dizisinin ortalamasını hesaplamak için alternatif yöntemlerden bir tanesidir. Ortanca medyan işleminin diğer adıdır. Matematiksel olarak medyan işlemi bir sayı dizisi küçükten büyüğe sıralayarak ortada kalan elemanı medyan değeri olarak belirleme işlemidir. Örnek verecek olursak: 2, 1, 5, 4, 5, 1, 2, 3, 5 serisi sıralanırsa 1, 1, 2, 2, 3, 4, 5, 5, 5 serisi elde edilir. Bu seri 9 elemanlı olduğundan ortadaki, yani 5. eleman (medyan) olacaktır. 5. eleman 3 sayısıdır. Yani ortanca değeri 3'dür Eleman sayısı tek sayı olan bir seride medyan değerin sırasının hesaplaması şu şekilde formüle edilir. Medyanın Sırası = (Eleman Sayısı + 1) / 2 Bu formülü yukarıdaki örneği uygulayacak olursak; Medyanın Sırası = (9 + 1) / 2 = 5 Veri serisi eleman sayısı bir çift sayı ise bu durumda serinin 2 medyanı olacaktır. Örneğin 2, 1, 5, 4, 5, 1, 2, 3, 5, 4 serisi sıralandığında 1, 1, 2, 2, 3, 4, 4, 5, 5, 5 s

Ağaçlar Kireçle veya Badana İle Neden Boyanır?

Ağaçlar kireçle boyanmasının veya badana yapılmasının hem çevreye hem de doğaya, ağaçlara faydası var. Bu makalede bu geleneği enine boyuna tartışmaya çalıştık. Ağaca zarar veren mikrop ve bakterileri öldürür. Ağacı çok aşarı soğuk havalarda ve çok aşırı sıcak havalarda korur. Ağacın çürümesini ve kurtlanmasını önler. Ağacın gövdesinin alabileceği zararları en az düzeyde düşürmeyi sağlar. Hoş, güzel, hijyenik, temiz pırıl pırıl bir görüntü oluşturur. Ayrıca çok sıcak havalarda da ağacı yanmaya karşı korumak. En büyük etkisi soğuk havalarda ağacı don vurmalarına karşı korumak . Küresel ısınma göz önüne alındığında mevsim değişiklikleri ani don, ani ısı artışları ve azalışları sonucunun doğuracağı etkenler için yararlı etkin bir yöntem. Gövdeden obur dalların çıkmasını azaltmak için sürülür. Kireçleme ağaçları güneş yanığından korumak için yapılıyor. Ağaçlar da güneşten yanabiliyorlar. Bu arada odun dokudaki gözenekleri doldurarak kapattığı için, zararlıların yuv

Azərbaycan Dilində Vurğu Qəbul Etmeyen Şekilçiler

Sözlərdə hecalardan birinin digərlərinə nisbətən daha qüvvətli deyilməsinə heca vurğusu deyilir. Üzərinə vurğu düşən hecaya isə vurğulu heca deyilir. Azərbaycan dilində vurğu adətən söz sonuna düşür. Söz şəkilçi qəbul ederkən vurğu adətən şəkilçinin üzərinə keçir. Məsələn: çiç ə k - çiçəkl ə r - çiçəklərd ə n məkt ə b - məktəbl i - məktəblil ə r - məktəblilərd ə n Buna baxmayaraq dilimizdə bir sıra şəkilçilər var ki onlar vurğu qebul etmirlər. Bu məqalədə Azərbaycan dilində vurğu qebul etməyən şəkilçilər incələnəcək ve bu şekilçilərin hansı hallarda vurğu qebul edib hansı hallarda vurğu qebul etmediyi araşdırılacaqdır. Eyni zamanda bildirmək istəyirəm ki vurğu ilə bağlı daha geniş və ətraflı məlumat üçün Azərbaycan Dilində Vurğunun Praktik Məsələləri adlı məqaləyə də nəzər yetirə bilərsiniz.  1. İsimlərdəki şəxs(xəbərlik) şəkilçiləri Məsələn: müəli'məm müəli'msən müəli'mdir müəli'mik müəli'msiniz müəli'mdirlər Qeyd: -dır4