Du liest:
Bedingungen in C# – if, else und else if (mit Codebeispielen)

Bedingungen in C# – if, else und else if (mit Codebeispielen)

von Patrick
14.05.2020
C#: if, else if & else im Überblick

Meist müssen wir Anhand von bestimmten Bedingungen entscheiden, welcher Code ausgeführt werden soll. Zu diesem Zweck stellt uns C# unter anderem die Schlüsselwörter if und else zur Verfügung. Deren Verwendung möchte ich dir in diesem Beitrag näherbringen.

1. If, else und else if in C#

Um Code zu definieren, der nur ausgeführt wird, wenn eine bestimmte Bedingung zutrifft, kannst du die Bedingung nach dem Schlüsselwort if angeben.

int zahl = 5;
if (zahl < 10) {
    Console.WriteLine("kleiner als 10");
}
// kleiner als 10

Für einzeilige Anweisungen kannst du den Codeblock auch ohne geschweifte Klammern schreiben.

int zahl = 5;
if (zahl < 10)
    Console.WriteLine("kleiner als 10");
// kleiner als 10

Um Code zu definieren, der ausgeführt wird, wenn die if-Bedingung nicht zutrifft, kannst du else verwenden.

int zahl = 5;
if (zahl < 5) {
    Console.WriteLine("kleiner als 5");
} else {
    Console.WriteLine("größer oder gleich 5");
}
// größer oder gleich 5

Du kannst weitere Bedingungen definieren, indem du else if verwendest.

if (zahl < 5) {
    Console.WriteLine("kleiner als 5");
} else if (zahl == 5) {
    Console.WriteLine("gleich 5");
} else {
    Console.WriteLine("größer als 5");
}
// gleich 5

Auch hier kannst du bei einzeiligen Anweisungen die geschweiften Klammern weglassen. So ist das folgende Beispiel gleich dem Vorigen:

if (zahl < 5)
    Console.WriteLine("kleiner als 5");
else if (zahl == 5)
    Console.WriteLine("gleich 5");
else
    Console.WriteLine("größer als 5");
// gleich 5

2. Kurzschreibweise der C# if-else Bedingung mit dem ? : Operator

Kurze if-else-Blöcke kannst du stattdessen auch mit dem ternären Operator ausdrücken.

<Bedingung> ? <Rückgabewert bei True> : <Rückgabewert bei False>

Praktisch kannst du das so implementieren:

int i = 3;
string s1 = i > 5 ? "True" : "False";
Console.WriteLine(s1);
// False
string s2 = i < 5 ? "True" : "False";
Console.WriteLine(s2);
// True

3. Der C# Null-Koaleszenz-Operator ??

Um zu überprüfen, ob eine Variable null ist und, wenn ja, einen anderen Wert zurückzugeben, kannst du den sogenannten Null-Koaleszenz-Operator ?? verwenden.

string s1 = null;
Console.WriteLine(s1 ?? "String ist NULL");
// String ist NULL
string s2 = "Foobar";
Console.WriteLine(s2 ?? "String ist NULL");
// Foobar

4. Fazit

Das if-Statement ist ein mächtiges Werkzeug, um zu bestimmen, welcher Code unter welcher Bedingung ausgeführt werden soll. Es gehört ebenfalls zum Standardrepertoire der meisten höheren Programmiersprachen. In C# ist die Handhabung dieses Konstruktes sehr einfach. Neben der C# if-Verzweigung steht dir unter anderem auch das C# switch case Konstrukt zur Verfügung, um ebensolche Logiken einzubauen.

Wenn du noch Fragen, Anmerkungen, Kritik oder Lob hast, dann schreib mir bitte einen Kommentar!



4 Kommentare
  1. Gabriel
    16.03.2022

    Geil erklärt. Brauche das für meinen Vortrag und möchte deshalb kein Geld ausgeben. Aber diese Seite hat das einfach und verständlich erklärt.

    Antworten Reply
    • Pero
      16.03.2022

      Hey Gabriel,

      danke für das nette Lob!
      Wir hoffen das dein Vortrag gut läuft :)

      Antworten Reply
  2. Jörg
    09.06.2022

    Hi, Danke für die Erläuterung. Mir ist noch nicht klar, wo bei "if" der Unterschied in diesen beiden Varianten liegt:

    bei "if (boolsche-Variable)" {mach was} macht das script was,
    bei "if (boolsche-Variable = true) {mach was} macht es nichts. Warum eigentlich?

    VG Jörg

    Antworten Reply
    • Pero
      10.06.2022

      Hey Jörg,

      eigentlich sind beide Zeilen identisch zu verstehen, denn beide werden nur ausgeführt, wenn die boolesche-Variable true ist.
      Folgender Code:

      bool meinbool = true;
      if (meinbool) {
      System.Console.WriteLine("Das ist wahr");
      }
      if (meinbool == true){
      System.Console.WriteLine("Das ist auch wahr");
      }

      führt bei mir zu folgender Konsolenausgabe:

      Das ist wahr
      Das ist auch wahr

      Hast du vielleicht bei der zweiten Variante das doppelte Gleichzeichen vergessen?

      Beste Grüße
      Pero

      Antworten Reply

Schreibe einen Kommentar

Das könnte dich auch interessieren

Arrow-up