Sdílet prostřednictvím


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

if Příkaz identifikuje, který příkaz ke spuštění na základě hodnoty z Boolean výrazu.V následujícím příkladu Boolean proměnná result je nastavena na true a vrácen se změnami if prohlášení.Výstup je 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.");
}

Příklady v tomto tématu můžete spustit tak, že se jim v Main metoda aplikace konzoly.

if Prohlášení v jazyce C# může mít dvě formy, jak ukazuje následující příklad.

// 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í, pokud condition je vyhodnocen jako true, then-statement spustí.Pokud condition má hodnotu false, else-statement spustí.Protože condition nemůže být současně true a false, then-statement a else-statement z if-else prohlášení lze oba nespouštět.Poté, co then-statement nebo else-statement běží, ovládací prvek bude převeden do dalšího příkazu po if prohlášení.

V if příkaz, který neobsahuje else prohlášení, pokud condition je PRAVDA, then-statement spustí.Pokud condition má hodnotu false, ovládací prvek bude převeden do dalšího příkazu po if prohlášení.

Jak then-statement a else-statement se může skládat z jednoho příkazu nebo více příkazů, které jsou uzavřeny ve složených závorkách ({}).Pro jeden příkaz složené závorky jsou nepovinné, ale doporučeno.

Příkaz nebo příkazy v then-statement a else-statement mohou být jakéhokoli druhu, včetně jiného if prohlášení vnořena v původní if prohlášení.Vnořené v if příkazy, každý else klauzule patří k poslední if , nemá odpovídající else.V následujícím příkladu Result1 se zobrazí i v případě m > 10 a n > 20 vyhodnocen jako PRAVDA.Pokud m > 10 je PRAVDA, ale n > 20 má hodnotu false, Result2 se zobrazí.

// 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 však chcete, aby Result2 Chcete-li zobrazit (m > 10) má hodnotu false, toto sdružení můžete určit pomocí závorek stanovit začátek a Konec vnořeného if prohlášení, jak ukazuje následující příklad.

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

Result2se zobrazí, pokud je podmínka (m > 10) je vyhodnocen jako false.

Příklad

V následujícím příkladu zadejte znak z klávesnice a program používá vnořený if zjistíte, zda vstupní znak je abecední znak.V případě, že vstupní znak je abecední znak, program zkontroluje, zda vstupní znak je malá nebo velká písmena.Zobrazí se zpráva pro každý případ.

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.

Můžete také vnořit if příkaz uvnitř jiného bloku, jak je ukázáno v následující části kódu.Příklad vnoří if příkazy uvnitř dva bloky else a jeden pak blok.Poznámky určit, které podmínky jsou true nebo false v každém bloku.

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

Následující příklad určuje, zda je vstupní znak malé písmeno, velké písmeno nebo číslo.Pokud všechny tři podmínky jsou nepravdivé, znak není alfanumerický znak.V příkladu se zobrazí zpráva pro každý případ.

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 else bloku nebo bloku pak může být jakýkoli platný příkaz, můžete použít libovolný platný logický výraz pro danou podmínku.Můžete použít logické operátory, jako je například & &, &, |,|and ! tak, aby složené podmínky.Následující kód ukazuje příklady.

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

Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.

Viz také

Referenční dokumentace

Klíčová slova jazyka C#

?: – operátor (Referenční dokumentace jazyka C#)

if-else – příkaz (C++)

switch – příkaz (referenční dokumentace jazyka C#)

Koncepty

Průvodce programováním v C#

Další zdroje

Referenční dokumentace jazyka C#