CodeBlanks Logo Icon CodeBlanks

Ternary operatörü

C# kursu · Başlangıç · Ders 40/116

? : ile tek satırda koşullu ifade yazmayı öğrenirsin.

Ternary operatörü

İki değerden birini tek satırda seçmek için ternary operatörü ? : kullanılır: string m = age >= 18 ? "yetişkin" : "çocuk";.

Önce koşul, sonra ?, doğruysa sonuç, : ve yanlışsa sonuç. İki dalı olan basit atamaları kısa yazar; ama iç içe ternary kullanımı okunabilirliği bozar, bu yüzden sade tut.

Ternary ve null birleştirme

Bir değişkenin null olma ihtimaline karşı ?? (null birleştirme) operatörü kullanılır: string name = input ?? "misafir";. input null ise 'misafir' alınır.

Bu, input != null ? input : "misafir" yazmaktan çok daha temizdir. Ternary genel amaçlı, ?? ise yalnızca null için özelleşmiştir; her ikisi de tek satırlık seçimde hayat kurtarır.

Uygulama Ternary ile çift/tek

Bir n değişkenini 8 değeriyle tanımla. Ternary operatörü kullanarak parity değişkenini üret: n % 2 == 0 ise "çift", değilse "tek". Sonra parity'i Console.WriteLine ile yazdır.

Örnek çözümü göster
"tek"; yaz.
Örnek çözüm:
using System;

class Program
{
    static void Main()
    {
        int n = 8;
        string parity = n % 2 == 0 ? "çift" : "tek";
        Console.WriteLine(parity);
    }
}

Kendini test et

  1. Ternary ayraçlarını tamamla

    int n = 7;
    string parity = (n % 2 == 0) ____ "çift" : "tek";
    Cevabı göster
    int n = 7;
    string parity = (n % 2 == 0) ? "çift" : "tek";
  2. İşareti kullanımına eşle

    ?
    Ternary doğru dalı
    :
    Ternary yanlış dalı
    ??
    Null yedek değeri
    ?:
    Ternary çifti
  3. 5 >= 3 ? "a" : "b" ifadesinin sonucu nedir?

    string r = 5 >= 3 ? "a" : "b";
    • "b"
    • "ab"
    • "a"
    • Derleme hatası
    Cevabı göster

    "a" — Doğru. 5 >= 3 true olduğu için 'a' seçilir.

Başlangıç bölümündeki tüm dersler