C# if, if...else, if...else if und verschachtelte if-Anweisung
C# if, if...else, if...else if und verschachtelte if-Anweisung
In diesem Artikel lernen wir, wie man die if, if...else, if...else if-Anweisung in C# verwendet, um den Ablauf unserer Programmausführung zu steuern.
Das Testen einer Bedingung ist beim Programmieren unvermeidlich. Wir werden oft mit Situationen konfrontiert, in denen wir Bedingungen testen müssen (sei es true
oder false
), um den Programmablauf zu steuern. Diese Bedingungen können durch Benutzereingaben, Zeitfaktor, aktuelle Umgebung, in der das Programm ausgeführt wird, usw. beeinflusst werden.
In diesem Artikel lernen wir, Bedingungen mit der if-Anweisung in C# zu testen.
C# if (if-then)-Anweisung
Die C#-If-Then-Anweisung führt einen Codeblock aus, wenn die angegebene Bedingung wahr ist. Die Syntax der if-then-Anweisung in C# lautet:
if (boolean-expression) { // statements executed if boolean-expression is true }
- Der boolesche Ausdruck gibt entweder true zurück oder
false
. - Wenn der boolesche Ausdruck
true
zurückgibt , die Anweisungen im Körper von if ( innerhalb von{...}
) wird ausgeführt. - Wenn der boolesche Ausdruck
false
zurückgibt , werden die Anweisungen im Körper von if ignoriert.
Zum Beispiel
if (number < 5) { number += 5; }
In diesem Beispiel ist die Anweisung
number += 5;
wird nur ausgeführt, wenn der Wert von Zahl kleiner als 5 ist.
Erinnerst du dich an den Operator +=?
Wie funktioniert if-Anweisung?

Beispiel 1:C# if-Anweisung
using System;
namespace Conditional
{
class IfStatement
{
public static void Main(string[] args)
{
int number = 2;
if (number < 5)
{
Console.WriteLine("{0} is less than 5", number);
}
Console.WriteLine("This statement is always executed.");
}
}
}
Wenn wir das Programm ausführen, lautet die Ausgabe:
2 is less than 5 This statement is always executed.
Der Wert von number wird auf 2 initialisiert. Also der Ausdruck number < 5
wird zu true
ausgewertet . Daher wird der Code innerhalb des if-Blocks ausgeführt. Der Code nach der if-Anweisung wird unabhängig vom Ausdruck immer ausgeführt.
Ändern Sie nun den Wert von number auf etwas größer als 5
, sagen Sie 10
. Wenn wir das Programm ausführen, lautet die Ausgabe:
This statement is always executed.
Der Ausdruck number < 5
gibt false
zurück , daher wird der Code im if-Block nicht ausgeführt.
C# if...else (if-then-else)-Anweisung
Die if-Anweisung in C# kann eine optionale else-Anweisung haben. Der Codeblock innerhalb der else-Anweisung wird ausgeführt, wenn der Ausdruck zu false
ausgewertet wird .
Die Syntax der if...else-Anweisung in C# lautet:
if (boolean-expression) { // statements executed if boolean-expression is true } else { // statements executed if boolean-expression is false }
Zum Beispiel
if (number < 5) { number += 5; } else { number -= 5; }
In diesem Beispiel ist die Anweisung
number += 5;
wird nur ausgeführt, wenn der Wert von number ist kleiner als 5
.
Die Aussage
number -= 5;
wird ausgeführt, wenn der Wert von number größer oder gleich 5
ist .
Wie funktioniert if...else-Anweisung?

Beispiel 2:C# if...else-Anweisung
using System;
namespace Conditional
{
class IfElseStatement
{
public static void Main(string[] args)
{
int number = 12;
if (number < 5)
{
Console.WriteLine("{0} is less than 5", number);
}
else
{
Console.WriteLine("{0} is greater than or equal to 5", number);
}
Console.WriteLine("This statement is always executed.");
}
}
}
Wenn wir das Programm ausführen, lautet die Ausgabe:
12 is greater than or equal to 5 This statement is always executed.
Hier der Wert von number wird auf 12
initialisiert . Also der Ausdruck number < 5
wird zu false
ausgewertet . Daher wird der Code innerhalb des else-Blocks ausgeführt. Der Code nach der if..else-Anweisung wird unabhängig vom Ausdruck immer ausgeführt.
Ändern Sie nun den Wert von Zahl auf etwas weniger als 5
, sagen Sie 2
. Wenn wir das Programm ausführen, lautet die Ausgabe:
2 is less than 5 This statement is always executed.
Der Ausdruck number < 5
wird wahr zurückgeben, daher wird der Code innerhalb des if-Blocks ausgeführt.
Der ternäre Operator in C# bietet eine Abkürzung für die if...else-Anweisung in C#.
C# if...else if (if-then-else if)-Anweisung
Wenn wir nur eine Bedingung zum Testen haben, funktionieren if-then und if-then-else-Anweisungen einwandfrei. Was aber, wenn wir eine multiple Bedingung haben, um einen der vielen Codeblöcke zu testen und auszuführen.
Für einen solchen Fall können wir die if..else if-Anweisung in C# verwenden. Die Syntax für die if...else if-Anweisung lautet:
if (boolean-expression-1) { // statements executed if boolean-expression-1 is true } else if (boolean-expression-2) { // statements executed if boolean-expression-2 is true } else if (boolean-expression-3) { // statements executed if boolean-expression-3 is true } . . . else { // statements executed if all above expressions are false }
Die if...else if-Anweisung wird von oben ausgeführt nach unten . Sobald ein Testausdruck true
ist , wird der Code innerhalb dieses if ( or else if ) Blocks ausgeführt. Dann springt die Steuerung aus dem if...else if-Block heraus.
Wenn keiner der Ausdrücke true
ist , wird der Code innerhalb des else-Blocks ausgeführt.
Alternativ können wir in einer solchen Bedingung die switch-Anweisung verwenden.
Beispiel 3:C# if...else if-Anweisung
using System;
namespace Conditional
{
class IfElseIfStatement
{
public static void Main(string[] args)
{
int number = 12;
if (number < 5)
{
Console.WriteLine("{0} is less than 5", number);
}
else if (number > 5)
{
Console.WriteLine("{0} is greater than 5", number);
}
else
{
Console.WriteLine("{0} is equal to 5");
}
}
}
}
Wenn wir das Programm ausführen, lautet die Ausgabe:
12 is greater than 5
Der Wert von number wird auf 12
initialisiert . Der erste Testausdruck number < 5
ist false
, sodass das Steuerelement zum Else-if-Block wechselt. Der Testausdruck number > 5
ist true
daher wird der Codeblock innerhalb von else if ausgeführt.
Ebenso können wir den Wert von number
ändern um den Ablauf der Ausführung zu ändern.
Verschachtelte if...else-Anweisung
Eine if...else-Anweisung kann in einer anderen if...else-Anweisung enthalten sein. Solche Anweisungen werden verschachtelte if...else-Anweisungen genannt.
Die allgemeine Struktur der verschachtelten if…else-Anweisung ist:
if (boolean-expression) { if (nested-expression-1) { // code to be executed } else { // code to be executed } } else { if (nested-expression-2) { // code to be executed } else { // code to be executed } }
Verschachtelte if-Anweisungen werden im Allgemeinen verwendet, wenn eine Bedingung gefolgt von einer anderen getestet werden muss. Wenn in einer verschachtelten if-Anweisung die äußere if-Anweisung wahr zurückgibt, tritt sie in den Hauptteil ein, um die innere if-Anweisung zu prüfen.
Beispiel 4:Verschachtelte if...else-Anweisung
Das folgende Programm berechnet die größte Zahl unter 3 Zahlen unter Verwendung einer verschachtelten if...else-Anweisung.
using System;
namespace Conditional
{
class Nested
{
public static void Main(string[] args)
{
int first = 7, second = -23, third = 13;
if (first > second)
{
if (firstNumber > third)
{
Console.WriteLine("{0} is the largest", first);
}
else
{
Console.WriteLine("{0} is the largest", third);
}
}
else
{
if (second > third)
{
Console.WriteLine("{0} is the largest", second);
}
else
{
Console.WriteLine("{0} is the largest", third);
}
}
}
}
}
Wenn wir das Programm ausführen, lautet die Ausgabe:
13 is the largest
C Sprache