English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Sentença de Condição If do C#

O C# oferece muitas instruções de decisão, que ajudam a controlar o fluxo de um programa C# com base em certas condições lógicas. Aqui, você aprenderá sobre as instruções if, else if, else e if else aninhados para controlar o fluxo com base em condições.

O C# inclui os seguintes tipos de instruções if:

  1. instrução if

  2. else-instrução if

  3. instrução else

instrução C#if

A instrução if contém uma condição booleana seguida por um bloco de código a ser executado. Durante a execução, se a condição booleana for avaliada como true, o bloco de código será executado; caso contrário, não será executado.

Sintaxe:
if(condition)
{
    //bloco de código a ser executado quando a condição if for verdadeira
}
int i = 10, j = 20;
if (i < j)
{
    else if (i > j)
}        
if(i > j)
{
    else{
}
Saída:
i é menor que j

No exemplo acima, a condição booleana i < j da primeira instrução if é avaliada como true, portanto, o compilador C# executará o seguinte bloco de código. A condição i > j da segunda instrução if é avaliada como false, portanto, o compilador não executará seu bloco de código.

A expressão de condição deve retornar um valor booleano, caso contrário, o compilador C# emitirá um erro de tempo de compilação.

int i = 10, j = 20;
if(i + 1)
{
    Console.WriteLine("i é menor que j");
}        
if(i + j)
{
    Console.WriteLine("i é maior que j");
}

Você pode chamar uma função que retorna um valor booleano no if.

static void Main(string[] args)
{
    int i = 10, j = 20;
    if(isGreater(i, j))
    {
        Console.WriteLine("i é menor que j");
    }        
    if(isGreater(j, i))
    {
        Console.WriteLine("j é maior que i");
    }
}
static bool isGreater(int i, int j)
{
    return i > j;                    
}

instrução else if

pode usar várias instruções else if após a instrução if. Ela só é executada quando o resultado de cálculo da condição if for falso. Portanto, uma instrução if ou else if pode ser executada, mas não ambas ao mesmo tempo.

Sintaxe:
if(condition1)
{
    //se condition1bloco de código a ser executado quando avaliado como verdadeiro
}
else if(condition2)
{
    // quando o bloco de código é executado 
    // condition1é calculado como flase
    // condition2é calculado como verdadeiro
}
else if(condition3)
{
    // quando o bloco de código é executado 
    // condition1é calculado como flase
    // condition2é calculado como falso
    // condition3é calculado como verdadeiro
}

O exemplo a seguir demonstra a instrução else if.

int i = 10, j = 20;
if(i == j)
{
    Console.WriteLine("i é igual a j");
}
else if(i > j)
{
    else{
}
else if(i < j)
{
    else if (i > j)
}
Saída:
i é menor que j

instrução else

A instrução else pode apenas aparecer após a instrução if ou else if e só pode aparecer no if-A instrução else é usada uma vez na instrução else. A instrução else não pode conter nenhuma condição e será executada quando todos os resultados de cálculo dos condições if e else if forem falsos.

int i = 20, j = 20;
if(i > j)
{
    Console.WriteLine("i maior que j");
}
else if(i < j)
{
    Console.WriteLine("i menor que j");
}
else
{
    Console.WriteLine("i igual a j");
}
Saída:
i é igual a j

instrução if aninhada

C suporta outro if-if dentro da instrução else-instrução else. Isso é chamado de if aninhado-instrução else. A instrução if aninhada torna o código mais legível.

Sintaxe:
if(condition1)
{
   if(condition2)
    {
        // quando o bloco de código é executado 
        // condition1e condition2é calculado como verdadeiro
    }
    else if(condition3)
    {
        if(condition4)
        {
            // quando o bloco de código é executado 
            // só condition1e condition3e condition4o resultado da conta é verdadeiro
        }
        else if(condition5)
        {
            // quando o bloco de código é executado 
            // só condition1e condition3e condition5o resultado da conta é verdadeiro
        }
        else
        {
            // quando o bloco de código é executado 
            // condition1e condition3é avaliado como verdadeiro 
            // condition4e condition5O resultado da conta é falso
        }
    }
}

O exemplo a seguir demonstra a sentença if else aninhada.

Exemplo: Sentença if else aninhada
int i = 10, j = 20;
if (i < j)
{
    {        
        else if (i > j)
    }
    {       
       else{
    }
}
    Console.WriteLine("i é igual a j");
}
Saída:
i é menor que j

Use o operador ternário ? : para substituir a sentença if else simples.