if-else
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern
Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

if-else (C#-Referenz)

 

Eine if-Anweisung ermittelt, welche Anweisung basierend auf dem Wert eines BooleanAusdrucks auszuführen ist. Im folgenden Beispiel wird die BooleanVariable result auf true festgelegt und dann in der ifAnweisung überprüft. Die Ausgabe lautet The condition is true.

bool condition = true;

if (condition)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

Die können die Beispiele in diesem Thema ausführen, indem Sie sie in die Main-Methode einer Konsolenanwendung platzieren.

Eine if-Anweisung in C# kann zwei Formen annehmen, wie im folgenden Beispiel gezeigt.


// if-else statement if (condition) { then-statement; } else { else-statement; } // Next statement in the program. // if statement without an else if (condition) { then-statement; } // Next statement in the program.

In einer if-else-Anweisung wird, wenn condition zu true ausgewertet wird, then-statement ausgeführt. Wenn condition false ist, wird else-statement ausgeführt. Da condition nicht gleichzeitig true und false sein kann, können then-statement und else-statement einer if-else-Anweisung niemals beide ausgeführt werden. Nachdem then-statement oder else-statement ausgeführt wurde, wird die Steuerung an die if-Anweisung übergeben.

In einer if-Anweisung, die keine else-Anweisung enthält, wird, wenn condition true ist, then-statement ausgeführt. Wenn condition false ist, wird die Steuerung an die nächste Anweisung nach der ifAnweisung übergeben.

Sowohl then-statement als auch else-statement können aus einer einzelnen Anweisung oder mehreren in Klammern eingeschlossenen Anweisungen bestehen ({}). Bei einer Anweisung sind die Klammern optional, sie werden aber empfohlen.

Die Anweisung bzw. die Anweisungen in then-statement und else-statement können von einer beliebigen Art sein und eine weitere ifAnweisung enthalten, die in der ursprünglichen if-Anweisung geschachtelt ist. In geschachtelten ifAnweisungen gehört jede else-Klausel zur letzten if-Anweisung, die nicht über eine zugehörige else-Anweisung verfügt. Im folgenden Beispiel wird Result1 angezeigt, wenn m > 10 und n > 20 zu true ausgewertet werden. Wenn m > 10 true ist, n > 20 hingegen false, wird Result2 angezeigt.

// Try with m = 12 and then with m = 8.
int m = 12;
int n = 18;

if (m > 10)
    if (n > 20)
    {
        Console.WriteLine("Result1");
    }
    else
    {
        Console.WriteLine("Result2");
    }

Wenn stattdessen Result2 angezeigt werden soll, wenn (m > 10) false ist, können Sie diese Zuordnung mithilfe von Klammern festlegen, um den Beginn und das Ende der geschachtelten ifAnweisung anzugeben, wie im folgenden Beispiel gezeigt.

// Try with m = 12 and then with m = 8.
if (m > 10)
{
    if (n > 20)
        Console.WriteLine("Result1");
}
else
{
    Console.WriteLine("Result2");
}

Result2 wird angezeigt, wenn die Bedingung (m > 10) zu false ausgewertet wird.

Beispiel

Im folgenden Beispiel geben Sie ein Zeichen über die Tastatur ein. Das Programm verwendet eine geschachtelte if-Anweisung, um zu bestimmen, ob das eingegebene Zeichen ein alphabetisches Zeichen ist. Wenn das eingegebene Zeichen ein alphabetisches Zeichen ist, überprüft das Programm, ob das eingegebene Zeichen in Groß- oder in Kleinschreibung ist. In beiden Fällen wird eine Meldung angezeigt.

Console.Write("Enter a character: ");
char c = (char)Console.Read();
if (Char.IsLetter(c))
{
    if (Char.IsLower(c))
    {
        Console.WriteLine("The character is lowercase.");
    }
    else
    {
        Console.WriteLine("The character is uppercase.");
    }
}
else
{
    Console.WriteLine("The character isn't an alphabetic character.");
}

//Sample Output:

//Enter a character: 2
//The character isn't an alphabetic character.

//Enter a character: A
//The character is uppercase.

//Enter a character: h
//The character is lowercase.

Beispiel

Sie können eine ifAnweisung auch in einem else-Block schachteln, wie der folgende Codeausschnitt zeigt. Im Beispiel werden ifAnweisungen in zwei else-Blocks und einem then-Block geschachtelt. In den Kommentaren ist angegeben, welche Bedingungen in jedem Block true oder false sind.

// Change the values of these variables to test the results.
bool Condition1 = true;
bool Condition2 = true;
bool Condition3 = true;
bool Condition4 = true;

if (Condition1)
{
    // Condition1 is true.
}
else if (Condition2)
{
    // Condition1 is false and Condition2 is true.
}
else if (Condition3)
{
    if (Condition4)
    {
        // Condition1 and Condition2 are false. Condition3 and Condition4 are true.
    }
    else
    {
        // Condition1, Condition2, and Condition4 are false. Condition3 is true.
    }
}
else
{
    // Condition1, Condition2, and Condition3 are false.
}

Beispiel

Im folgenden Beispiel wird bestimmt, ob ein eingegebenes Zeichen ein Kleinbuchstabe, ein Großbuchstabe oder eine Zahl ist. Wenn alle drei Bedingungen false sind, ist das Zeichen kein alphanumerisches Zeichen. Das Beispiel zeigt für jeden Fall eine Meldung an.

Console.Write("Enter a character: ");
char ch = (char)Console.Read();

if (Char.IsUpper(ch))
{
    Console.WriteLine("The character is an uppercase letter.");
}
else if (Char.IsLower(ch))
{
    Console.WriteLine("The character is a lowercase letter.");
}
else if (Char.IsDigit(ch))
{
    Console.WriteLine("The character is a number.");
}
else
{
    Console.WriteLine("The character is not alphanumeric.");
}

//Sample Input and Output:
//Enter a character: E
//The character is an uppercase letter.

//Enter a character: e
//The character is a lowercase letter.

//Enter a character: 4
//The character is a number.

//Enter a character: =
//The character is not alphanumeric.

So, wie eine Anweisung im else-Block oder then-Block jede beliebige Anweisung sein kann, können Sie für die Bedingungen einen beliebigen gültigen booleschen Ausdruck verwenden. Sie können logische Operatoren wie &&, &, ||, | und ! verwenden, um Verbundbedingungen zu erstellen. Der folgende Code enthält Beispiele.

// NOT bool result = true; if (!result) { Console.WriteLine("The condition is true (result is false)."); } else { Console.WriteLine("The condition is false (result is true)."); } // Short-circuit AND int m = 9; int n = 7; int p = 5; if (m >= n && m >= p) { Console.WriteLine("Nothing is larger than m."); } // AND and NOT if (m >= n && !(p > m)) { Console.WriteLine("Nothing is larger than m."); } // Short-circuit OR if (m > n || m > p) { Console.WriteLine("m isn't the smallest."); } // NOT and OR m = 4; if (!(m >= n || m >= p)) { Console.WriteLine("Now m is the smallest."); } // Output: // The condition is false (result is true). // Nothing is larger than m. // Nothing is larger than m. // m isn't the smallest. // Now m is the smallest.

Weitere Informationen finden Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Anzeigen:
© 2016 Microsoft