Den Codefluss mit if, else if und else steuern
Tip
Weitere Details finden Sie auf der Registerkarte "Text und Bilder ".
Eine einzelne if Anweisung kann nur ein Ergebnis verarbeiten. Um alternative Ergebnisse zu behandeln, stellt C# die else und else if Schlüsselwörter bereit.
Hinzufügen eines alternativen Pfads mit else
Wird else verwendet, um einen anderen Codeblock auszuführen, wenn die Bedingung lautet false:
int total = 12;
if (total >= 15)
{
Console.WriteLine("You win!");
}
else
{
Console.WriteLine("Sorry, you lose.");
}
Bedingungen mit else if verketten
Wenn Sie mehr als zwei mögliche Ergebnisse haben, fügen Sie else if Blöcke hinzu, um zusätzliche Bedingungen zu überprüfen:
int total = 12;
if (total >= 16)
{
Console.WriteLine("You win a new car!");
}
else if (total >= 10)
{
Console.WriteLine("You win a new laptop!");
}
else if (total == 7)
{
Console.WriteLine("You win a trip for two!");
}
else
{
Console.WriteLine("You win a kitten!");
}
Erster Matchsieg
C# überprüft jede Bedingung in der Reihenfolge und führt den ersten Block aus, dessen Bedingung lautet true. Es überspringt danach alle Bedingungen, auch wenn andernfalls mehr als eine true wäre. Wenn keine der Bedingungen übereinstimmen, wird der else Block ausgeführt. Das else ist optional, muss aber an letzter Stelle stehen, wenn Sie es einfügen.
Da 12 im obigen Beispiel total ist, lautet die Ausgabe:
You win a new laptop!
Ordnen Sie Ihre Bedingungen von den meisten spezifischen bis zu den geringsten Spezifischen an, damit Sie das erwartete Ergebnis nicht versehentlich überspringen.
Verschachtelung von if-Anweisungen
Sie können eine if-Anweisung im Codeblock einer anderen if-Anweisung platzieren. Das nennt man Schachtelung, und das ist nützlich, wenn eine Entscheidung von einer anderen abhängt:
bool hasTicket = true;
int age = 16;
if (hasTicket)
{
if (age >= 18)
{
Console.WriteLine("Entry granted.");
}
else
{
Console.WriteLine("Minors must be accompanied by an adult.");
}
}