C#’da Ternary Operator (Üçlü Operatör) (?:) bir karar verme operatörüdür ve c# programlama dilinde if…else ifadesinin yerine geçer.
Ternary Operatör kullanarak, c# programlama dilinde if…else deyim kodunun birden çok satırını tek bir satıra değiştirebiliriz.
Ternary operatör, karar verme operatörünü (?:) kullanarak tanımlı koşullara dayalı olarak ifadeleri yürütmenize yardımcı olacaktır.
C# Ternary Operatör Sözdizimi
C#’ta Üçlü Operatör her zaman 3 işlenenle çalışır. Aşağıda, c# programlama dilinde Üçlü Operatör tanımlamanın sözdizimi verilmiştir.
1 2 3 | koşul_ifadesi? ilk_ifade: ikinci_ifade; |
Yukarıdaki sözdizimini gözlemlerseniz, koşullu işleç (?:), bir koşulun değerine göre birinci_ifade veya ikinci_ifade olmak üzere tanımlanan ifadelerden yalnızca bir değer döndürür.
C#’ta Ternary Operatör (?:) aşağıdaki gibi çalışacaktır.
Ternary Operatör’de koşul ifadesi doğru veya yanlış olarak değerlendirilmelidir. Koşul doğruysa, ilk_ifade sonucu ternary operatör tarafından döndürülür.
Koşulun yanlış olması durumunda, ikinci_ifade sonucu operatör tarafından döndürülür.
Daha önce de belirtildiği gibi, Üçlü Operatör (?:), C# programlama dilinde if…else ifadesinin yerini alır. Örneğin, aşağıdaki if…else ifadesini, aşağıda gösterildiği gibi Ternary Operatör (?:) ile değiştirebiliriz.
If-Else kullanarak sayının tek mi çift mi olduğunu bulalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | static void Main(string[] args) { int sayi = 25; if (sayi % 2 == 0) { Console.WriteLine("Sayı Çifttir"); } else { Console.WriteLine("Sayı Tektir"); } Console.ReadKey(); } |
Ternary operator kullanarak sayının tek mi çift mi olduğunu bulalım.
1 2 3 4 5 6 7 8 9 10 11 | static void Main(string[] args) { int sayi = 25; string sonuc = (sayi%2==0) ? "Sayı Çifttir." : "Sayı Tektir."; Console.WriteLine(sonuc); Console.ReadKey(); } |
Yukarıda verilen her iki kod bloğuda aynı sonucu verecektir.
C# İç İçe Ternary Operatör Kullanımı
Aşağıdaki C# örneğinde iç içe ternary operatör tanımlama örneği verilmiştir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | static void Main(string[] args) { Console.Write("x sayısını gir: "); int x = Convert.ToInt32(Console.ReadLine()); Console.Write("y sayısını gir: "); int y = Convert.ToInt32(Console.ReadLine()); string sonuc; sonuc = (x > y) ? "x değeri y den büyüktür." : (x < y) ? "x değeri y den küçüktür." : "x ve y değerleri eşittir."; Console.WriteLine(sonuc); Console.ReadLine(); } |
Ekran Çıktısı:
