Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen If-Else-Kette | Kontrollstrukturen
C# Grundlagen
course content

Kursinhalt

C# Grundlagen

C# Grundlagen

1. Erste Schritte
2. Umgang mit Datentypen
3. Kontrollstrukturen
4. Schleifen
5. Arrays
6. Methoden

book
If-Else-Kette

Wir können zusätzliche Bedingungen mit dem Schlüsselwort else if hinzufügen. Die zusätzlichen Bedingungen werden ausgewertet, falls die vorherigen Bedingungen nicht erfüllt sind.


Betrachten wir ein Beispiel mit einer if else-Kette:

cs

main

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else if(value_1 == value_2) { Console.WriteLine("Value 1 is equal to Value 2"); } } } }

Im obigen Programm haben wir Bedingungen mit if-else if verkettet. Dies wird als Bedingungskette bezeichnet. Die erste Bedingung value_1 < value_2 wird ausgewertet. Da sie false ist, überspringt das Programm zur nächsten Bedingung value_1 > value_2, die true ist, und führt daher ihren Codeblock aus und stoppt die weitere Ausführung der Kette.

Das Hauptmerkmal der Bedingungskette ist, dass sie die Kette nicht weiter ausführt, sobald eine Bedingung erfüllt ist.

Betrachten Sie den folgenden Code:

cs

main

copy
12345678910111213141516171819202122232425
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } else if(value > 7) { Console.WriteLine("Value is bigger than 7"); } else if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

Obwohl alle drei Bedingungen true sind, wird die Ausführung bei der ersten Bedingung gestoppt, da es sich um eine Kette handelt.

Versuchen wir nun, es ohne Verkettung mit einfachen if-Schlüsselwörtern zu schreiben:

cs

main

copy
123456789101112131415161718192021222324252627
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value = 10; if(value > 5) { Console.WriteLine("Value is bigger than 5"); } if(value > 7) { Console.WriteLine("Value is bigger than 7"); } if(value > 9) { Console.WriteLine("Value is bigger than 9"); } } } }

In diesem Fall wird jede Bedingung einzeln ausgewertet und nicht als Teil einer Kette behandelt, daher werden alle drei Anweisungen ausgegeben.

Wir können auch das else-Schlüsselwort am Ende der if-else-Kette hinzufügen, das ausgeführt wird, wenn keine Bedingung erfüllt ist:

cs

main

copy
1234567891011121314151617181920212223242526
using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { int value_1 = 9; int value_2 = 7; if(value_1 < value_2) { Console.WriteLine("Value 1 is smaller than Value 2"); } else if(value_1 > value_2) { Console.WriteLine("Value 1 is bigger than Value 2"); } else { Console.WriteLine("Value 1 is equal to Value 2"); } } } }
Welche Zeilen werden in der Ausgabe des folgenden Programms enthalten sein?

Welche Zeilen werden in der Ausgabe des folgenden Programms enthalten sein?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 9
We're sorry to hear that something went wrong. What happened?
some-alt