Controle o fluxo do código com if, else if e else

Concluído(a)

Dica

Consulte a guia Texto e imagens para obter mais detalhes!

Uma única instrução if só pode lidar com um resultado. Para lidar com resultados alternativos, o C# fornece as palavras-chave else if e else.

Adicionando um caminho alternativo com outro

Use else para executar um bloco de código diferente quando a condição for false:

int total = 12;

if (total >= 15)
{
    Console.WriteLine("You win!");
}
else
{
    Console.WriteLine("Sorry, you lose.");
}

Encadeando condições com else if

Quando você tiver mais de dois resultados possíveis, adicione else if blocos para verificar condições adicionais:

int total = 12;

if (total >= 16)
{
    Console.WriteLine("You win a new car!");
}
else if (total >= 10)
{
    Console.WriteLine("You win a new laptop!");
}
else if (total == 7)
{
    Console.WriteLine("You win a trip for two!");
}
else
{
    Console.WriteLine("You win a kitten!");
}

A primeira correspondência vence

O C# verifica cada condição em ordem e executa o primeiro bloco cuja condição é true. Ela ignora todas as condições subsequentes, mesmo que mais de uma pudesse ser true. Se nenhuma das condições for atendida, o bloco else será executado. O else é opcional, mas deve ficar por último se você incluí-lo.

Como total está 12 no exemplo acima, a saída é:

You win a new laptop!

Ordene suas condições da mais específica para a menos específica para que você não ignore acidentalmente o resultado esperado.

Aninhando instruções `if`

Você pode colocar uma instrução if dentro do bloco de código de outra if instrução. Isso é chamado de aninhamento, e é útil quando uma decisão depende de outra:

bool hasTicket = true;
int age = 16;

if (hasTicket)
{
    if (age >= 18)
    {
        Console.WriteLine("Entry granted.");
    }
    else
    {
        Console.WriteLine("Minors must be accompanied by an adult.");
    }
}