Compartilhar via


if-else (C# Reference)

O if instrução seleciona uma instrução para execução com base no valor de um Boolean expressão. No exemplo a seguir, o Boolean variável result for definido como true e, em seguida, check-in a if instrução. A saída é: The variable is set to true.

bool result = true;

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

Se a expressão em parênteses é avaliada como true, em seguida, a Console.WriteLine("The variable is set to true."); instrução é executada. Depois de executar o if declaração de controle é transferida para a próxima instrução. O bloco else  não é executado neste exemplo.

Se você desejar executar mais de uma instrução dependendo do valor da expressão booleana, basta incluir as instruções em um bloco usando {}, conforme o exemplo acima.

O comando (s) a ser executada durante a condição de teste pode ser de qualquer tipo, incluindo outra if instrução aninhados em original if instrução. Aninhado em if instruções, o else cláusula pertence à última if que não tem um correspondente else. Por exemplo:


int x = 12;
int y = 18;

if (x > 10)
    if (y > 20)
        Console.Write("Statement_1");
    else
        Console.Write("Statement_2");

Neste exemplo, Statement_2 será exibido se a condição de (y > 20) for avaliada como false. No entanto, se você deseja associar Statement_2 com a condição (x >10), você deverá usar chaves para delimitar os blocos:


if (x > 10)
{
    if (y > 20)
        Console.Write("Statement_1");
}
else
    Console.Write("Statement_2");

Nesse caso, Statement_2 será exibido se a condição de (x > 10) for avaliada como false

Exemplo

Neste exemplo, você digita um caractere no teclado e o programa verifica se o caractere de entrada é um caractere alfabético. Se for, ele verifica se é minúscula ou maiúscula. Em cada caso, a mensagem apropriada será exibida.


    class IfTest
    {
        static void Main()
        {
            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("Not an alphabetic character.");
            }
        }

        /*
        Input:
        2
        Sample Output
        Enter a character: 2
        The character is not an alphabetic character.
        Additional sample might look as follows:
        Run #2:
        Enter a character: A
        The character is uppercase.
        Run #3:
        Enter a character: h
        The character is lowercase.
         * */
    }

Também é possível estender o if a instrução para lidar com várias condições, usando a disposição de else if a seguir:

            if (Condition_1)
            {
                // Statement_1;
            }
            else if (Condition_2)
            {
                // Statement_2;
            }
            else if (Condition_3)
            {
                // Statement_3;
            }
            else
            {
                // Statement_n;
            }

Este exemplo verifica se o caractere de entrada é maiúsculo, minúsculo, ou um número. Caso contrário, não é um caractere alfanumérico. O programa faz uso de um conjuto de instruções  else-if .

    public class IfTest3
{
    static void Main()
    {
        Console.Write("Enter a character: ");
        char c = (char)Console.Read();

        if (Char.IsUpper(c))
        {
            Console.WriteLine("Character is uppercase.");
        }
        else if (Char.IsLower(c))
        {
            Console.WriteLine("Character is lowercase.");
        }
        else if (Char.IsDigit(c))
        {
            Console.WriteLine("Character is a number.");
        }
        else
        {
            Console.WriteLine("Character is not alphanumeric.");
        }
    }
}
    /*
        Sample Input:  E

        Sample Output:
        Enter a character: E
        The character is uppercase.

        Additional sample runs might look as follows:
        Run #2
        Enter a character: e
        The character is lowercase.
        Run #3:
        Enter a character: 4
        The character is a number.
        Run #4:
        Enter a character: $
        The character is not alphanumeric.
    */

Especificação da linguagem C#

Para obter mais informações, consulte C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

C# Keywords

?: Operador (referência de C#)

The if-else Statement

switch (C# Reference)

Conceitos

C# Programming Guide

Outros recursos

C# Reference