if-else (Referenční dokumentace jazyka C#)if-else (C# Reference)

Příkaz if identifikuje, který příkaz má být spuštěn na základě hodnoty logického výrazu.An if statement identifies which statement to run based on the value of a Boolean expression. V následujícím příkladu bool condition je proměnná nastavena true na if a poté v příkazu zaškrtnuta.In the following example, the bool variable condition is set to true and then checked in the if statement. Výstup je The variable is set to true..The output is The variable is set to true..

bool condition = true;

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

Příklady v tomto tématu můžete spustit Main tak, že je umístíte do metody konzolové aplikace.You can run the examples in this topic by placing them in the Main method of a console app.

Příkaz if v C# může mít dvě formy, jak ukazuje následující příklad.An if statement in C# can take two forms, as the following example shows.

// 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.

V if-else prohlášení, condition pokud vyhodnotí then-statement true, spustí.In an if-else statement, if condition evaluates to true, the then-statement runs. Pokud condition je false, else-statement běží.If condition is false, the else-statement runs. Protože condition nemůže být současně pravdivé a then-statement nepravdivé, else-statement a if-else prohlášení nemůže nikdy oba spustit.Because condition can’t be simultaneously true and false, the then-statement and the else-statement of an if-else statement can never both run. Po then-statement else-statement spuštění nebo ovládací prvek je převedena na if další příkaz po příkazu.After the then-statement or the else-statement runs, control is transferred to the next statement after the if statement.

V if prohlášení, které neobsahuje else příkaz, condition pokud je then-statement true, spustí.In an if statement that doesn’t include an else statement, if condition is true, the then-statement runs. Pokud condition je false, ovládací prvek je převedena na další příkaz po příkazu. ifIf condition is false, control is transferred to the next statement after the if statement.

then-statement A else-statement může se skládat z jednoho příkazu nebo více příkazů, které jsou uzavřeny v závorkách ({}).Both the then-statement and the else-statement can consist of a single statement or multiple statements that are enclosed in braces ({}). Pro jeden příkaz jsou závorky volitelné, ale doporučené.For a single statement, the braces are optional but recommended.

Příkaz nebo příkazy then-statement v else-statement a může být jakéhokoli if druhu, včetně if jiného příkazu vnořené uvnitř původní ho příkazu.The statement or statements in the then-statement and the else-statement can be of any kind, including another if statement nested inside the original if statement. if V nosných else příkazech patří if každá klauzule poslední elseklauzuli, která nemá odpovídající .In nested if statements, each else clause belongs to the last if that doesn’t have a corresponding else. V následujícím příkladu se m > 10 n > 20 zobrazí, Result1 pokud oba a vyhodnotit na true.In the following example, Result1 appears if both m > 10 and n > 20 evaluate to true. Pokud m > 10 je n > 20 pravda, Result2 ale je nepravdivé, se objeví.If m > 10 is true but n > 20 is false, Result2 appears.

// 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");
    }

Pokud se místo Result2 toho chcete (m > 10) zobrazit, když je false, můžete určit, že přidružení pomocí if závorek k vytvoření začátku a konce vnořený příkaz, jak ukazuje následující příklad.If, instead, you want Result2 to appear when (m > 10) is false, you can specify that association by using braces to establish the start and end of the nested if statement, as the following example shows.

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

Result2pokud se (m > 10) stav vyhodnotí jako nepravdivý.Result2 appears if the condition (m > 10) evaluates to false.

PříkladExample

V následujícím příkladu zadáte znak z klávesnice a program použije if vnořený příkaz k určení, zda je vstupní znak abecední znak.In the following example, you enter a character from the keyboard, and the program uses a nested if statement to determine whether the input character is an alphabetic character. Pokud je vstupní znak abecední znak, program zkontroluje, zda je vstupní znak malá nebo velká.If the input character is an alphabetic character, the program checks whether the input character is lowercase or uppercase. Pro každý případ se zobrazí zpráva.A message appears for each case.

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.

PříkladExample

Můžete také vnořit if příkaz uvnitř bloku else, jak ukazuje následující částečný kód.You also can nest an if statement inside an else block, as the following partial code shows. Příklad vnoří příkazy if uvnitř dva bloky else a jeden pak blokovat.The example nests if statements inside two else blocks and one then block. Komentáře určují, které podmínky jsou v každém bloku pravdivé nebo nepravdivé.The comments specify which conditions are true or false in each block.

// 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.
}

PříkladExample

Následující příklad určuje, zda je vstupní znak malé písmeno, velké písmeno nebo číslo.The following example determines whether an input character is a lowercase letter, an uppercase letter, or a number. Pokud jsou všechny tři podmínky false, znak není alfanumerický znak.If all three conditions are false, the character isn’t an alphanumeric character. Příklad zobrazí zprávu pro každý případ.The example displays a message for each case.

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.

Stejně jako příkaz v bloku else nebo pak blok může být libovolný platný příkaz, můžete použít libovolný platný logický výraz pro podmínku.Just as a statement in the else block or the then block can be any valid statement, you can use any valid Boolean expression for the condition. Můžete použít logické operátory, například !, && ||, & |, a ^ vytvořit složené podmínky.You can use logical operators such as !, &&, ||, &, |, and ^ to make compound conditions. Následující kód ukazuje příklady.The following code shows examples.

// 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.

specifikace jazyka C#C# language specification

Další informace najdete v tématu Specifikace jazyka C#.For more information, see the C# Language Specification. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.The language specification is the definitive source for C# syntax and usage.

Viz takéSee also