Freigeben über


if-else (C#-Referenz)

Eine if-Anweisung identifiziert, die Anweisung zur Ausführung auf der Grundlage des Werts eines Boolean Ausdrucks.Im folgenden Beispiel wird die Boolean-Variable result auf true festgelegt und anschließend in der if-Anweisung geprü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.");
}

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

Eine if-Anweisung in C# kann zwei Arten im folgenden Beispiel gezeigt, ausgehen.

// 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 Anweisung if-else wenn condition ergibt, um auszurichten, wird then-statement ausgeführt.Wenn condition falsch ist, wird else-statement ausgeführt.Da condition nicht aus und gleichzeitig falsch sein kann, können then-statement und else-statement einer if-else-Anweisung nie beide Ausführung.Nach then-statement oder den else-statement ausgeführt wird - Steuerelement zur nächsten Anweisung nach der - Anweisung if übertragen.

In einer if-Anweisung, die keine else-Anweisung umfasst, wenn condition zutrifft, wird then-statement ausgeführt.Wenn condition falsch ist, wird die nächste - Anweisung nach der - Anweisung if übertragen.

können then-statement und else-statement einer einzigen Anweisung oder aus Mehrfachverbindungsstellenanweisungen bestehen, die in geschweifte Klammern ({}) eingeschlossen sind.Für eine einzelne Anweisung sind die Klammern optional jedoch empfohlen.

Die - Anweisung oder - Anweisungen in then-statement und in else-statement können von der Art, wie etwa eine andere if beliebige - Anweisung sein, die in der ursprünglichen if-Anweisung geschachtelt ist.In geschachtelten if-Anweisungen gehört else jede Klausel letzten if, die nicht entsprechendes else verfügt.Im folgenden Beispiel wird Result1, wenn m > 10 und n > 20 auswerten, um auszurichten.Wenn m > 10 zutrifft, aber n > 20 falsch ist, wird Result2.

// 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 Sie stattdessen Result2 angezeigt werden soll, wenn (m > 10) falsch ist, können Sie angeben, dass Zuordnung durch geschweifte Klammern verwenden, um den Beginn und das Ende der geschachtelten if-Anweisung im folgenden Beispiel gezeigt, herzustellen.

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

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

Beispiel

Im folgenden Beispiel geben Sie ein Zeichen von der Tastatur ein, und das Programm verwendet if eine geschachtelte - Anweisung, um zu bestimmen, ob das Eingabezeichen ein alphabetisches Zeichen ist.Wenn das Eingabezeichen ein alphabetisches Zeichen, die Überprüfen, ob das Eingabezeichen in Klein- oder Großbuchstaben ist.Eine Meldung wird für jeden Fall.

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.

Sie können eine if-Anweisung innerhalb eines Blocks, anderenfalls als die folgenden partiellen Code zeigt auch schachteln.Im Beispiel sind if-Anweisungen innerhalb von zwei else-Blöcken und einem then-Block geschachtelt.Die Kommentare geben an, welche Bedingungen erfüllt oder in einem Block falsch 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.
}

Das folgende Beispiel ermittelt, ob ein Eingabezeichen ein Kleinbuchstabe, ein Großbuchstabe oder eine Zahl ist.Wenn alle drei Bedingungen falsch sind, ist das Zeichen nicht alphanumerischen Zeichen.Im Beispiel wird eine Meldung für jeden Fall.

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.

Ebenso wie eine Anweisung im ELSE-Block oder im zeigt dann den Block jede gültige Anweisung sein kann, können Sie einen gültigen booleschen Ausdruck für die Bedingung verwenden.Sie können logische Operatoren wie &&, &., || verwenden,|und !, von Mehrfachbedingungen auszuführen.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.

C#-Programmiersprachenspezifikation

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

Siehe auch

Referenz

C#-Schlüsselwörter

Operator ?: (C#-Referenz)

if-else-Anweisung (C++)

switch (C#-Referenz)

Konzepte

C#-Programmierhandbuch

Weitere Ressourcen

C#-Referenz