Aracılığıyla paylaş


?: İşleci (C# Başvurusu)

Koşul işleci (?:), bir Boolean ifadesinin değerine dayalı olarak iki değerden birini döndürür.Aşağıda, koşullu işlecin sözdizimi belirtilmiştir.

condition ? first_expression : second_expression;

Notlar

condition, true veya false olarak değerlendirilmelidir.conditiontrue işe, first_expression değerlendirilir ve sonuç olur.conditionfalse işe, second_expression değerlendirilir ve sonuç olur.İki ifadeden yalnızca biri değerlendirilir.

Her iki first_expression ve second_expression türü de aynı olmalıdır veya bir türden diğerine örtülü bir dönüştürme olmalıdır.

Tersi durumda bir if-else yapısı gerektirebilecek hesaplamaları, koşullu işleç kullanarak daha kısaca ifade edebilirsiniz.Örneğin, aşağıdaki kod önce bir if deyimi ve sonra bir tamsayıyı artı veya eksi olarak sınıflandırmak için koşullu bir işleç kullanır.

int input = Convert.ToInt32(Console.ReadLine());
string classify;

// if-else construction.
if (input > 0)
    classify = "positive";
else
    classify = "negative";

// ?: conditional operator.
classify = (input > 0) ? "positive" : "negative";

Koşullu işleç, sağa ilişkilendirilir.a ? b : c ? d : e ifadesi, (a ? b : c) ? d : e olarak değil, a ? b : (c ? d : e) olarak değerlendirilir.

Koşullu işleç aşırı yüklenemez.

Örnek

class ConditionalOp
{
    static double sinc(double x)
    {
        return x != 0.0 ? Math.Sin(x) / x : 1.0;
    }

    static void Main()
    {
        Console.WriteLine(sinc(0.2));
        Console.WriteLine(sinc(0.1));
        Console.WriteLine(sinc(0.0));
    }
}
/*
Output:
0.993346653975306
0.998334166468282
1
*/

Ayrıca bkz.

Başvuru

C# İşleçleri

if-else (C# Başvurusu)

Kavramlar

C# Programlama Kılavuzu

Diğer Kaynaklar

C# Başvurusu