HOWTO · Csharp

C# If-Else Kurzschrift

In diesem Tutorial lernen Sie die if-else-Kurzschrift in C# kennen.

Auf dieser Seite

Die If-Else-Anweisungen werden verwendet, um bedingte Codeblöcke auszuführen. Wir spezifizieren eine Bedingung im if-Block. Wenn diese Bedingung erfüllt ist, wird der if-Codeblock ausgeführt.

Andernfalls wird der else-Codeblock ausgeführt. Dieses Tutorial befasst sich mit dem ternären Operator ?:, der Abkürzung if-else in C#.

Verwendung des ternären Operators in C#

Der ternäre Operator hat seinen Namen, weil er drei Argumente als Eingabe akzeptiert: die Bedingung, den if-Codeblock und den else-Codeblock.

Alle drei sind in eine einzeilige Kurzschrift verpackt, wodurch der Code prägnant und sauber wird. Es hilft, die gleiche Funktionalität wie if-else in minimalistischem Code zu erreichen.

using System;

class Program {
  public static void Main() {
    int exp1 = 5;
    double exp2 = 3.0;
    bool condition = 5 > 2;
    var ans = condition ? exp1 : exp2;
    Console.WriteLine(ans);
  }
}

Ausgabe:

5

Im obigen Beispiel wertet der ternäre Operator zuerst die gegebene Bedingung aus. Wenn die angegebene Bedingung true ist, gehen wir zu exp1, getrennt durch ein ? Zustand. Andernfalls wechseln wir zu exp2, getrennt von exp1 durch ein :.

Die Macht der ternären Operatoren hört hier nicht auf, da wir wissen, dass if-else-Anweisungen verschachtelt werden können. Ternäre Operatoren können dasselbe auch mit viel weniger Code erreichen.

Verwendung der verschachtelten ternären Operatoren in C#

using System;

class Program {
  public static void Main() {
    int alcoholLevel = 90;
    string message = alcoholLevel >= 100
                         ? "You are too drunk to drive"
                         : (alcoholLevel >= 80 ? "Come on live a little" : "Sober :)");
    Console.WriteLine(message);
  }
}

Ausgabe:

Come on live a little

Im obigen Beispiel geben wir mehrere Nachrichten basierend auf dem Alkoholgehalt einer Person aus, indem wir verschachtelte ternäre Operatoren verwenden, die alle in einer einzigen Codezeile verpackt sind.