Kursinhalt
C# Grundlagen
C# Grundlagen
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:
main
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:
main
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:
main
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:
main
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"); } } } }
Danke für Ihr Feedback!