Estruturas de decisão

Estruturas de decisão, ou condicionais, permitem que um programa escolha diferentes caminhos de execução com base em condições avaliadas durante a execução. Elas são fundamentais para criar programas dinâmicos, que reagem de acordo com diferentes situações.

Principais estruturas de decisão em C#:

  • if, if-else e if-else if
  • switch-case
  • Operador ternário (? :)

1. Estrutura if e if-else

Permite executar um bloco de código se uma condição for verdadeira, e outro bloco (opcional) se for falsa.

int idade = 18;

if (idade >= 18)
{
Console.WriteLine("Você é maior de idade.");
}
else
{
Console.WriteLine("Você é menor de idade.");
}

Se a condição dentro do if for verdadeira, o primeiro bloco é executado; caso contrário, o bloco do else é executado.

2. Estrutura if-else if-else

Permite testar múltiplas condições em sequência.

int nota = 7;

if (nota >= 9)
{
Console.WriteLine("Excelente!");
}
else if (nota >= 7)
{
Console.WriteLine("Aprovado!");
}
else
{
Console.WriteLine("Reprovado!");
}

O programa verifica cada condição em ordem até encontrar a primeira verdadeira.

3. Estrutura switch-case

Ideal para comparar uma variável com vários valores possíveis.

string linguagem = "C#";

switch (linguagem)
{
case "Java":
Console.WriteLine("Você escolheu Java!");
break;
case "C#":
Console.WriteLine("Você escolheu C#!");
break;
default:
Console.WriteLine("Linguagem não reconhecida.");
break;
}

O switch avalia a variável e executa o bloco correspondente ao valor encontrado, usando break para encerrar cada caso.

4. Operador Ternário

Forma compacta de escrever um if-else simples.

int idade = 20;
string resultado = idade >= 18 ? "Maior de idade" : "Menor de idade";
Console.WriteLine(resultado);

Se a condição antes do ? for verdadeira, o valor antes dos : é atribuído; senão, o valor depois dos :.

Resumo

  • Estruturas de decisão permitem alterar o fluxo do programa conforme condições avaliadas em tempo de execução.
  • As principais formas em C# são: if, if-else, if-else if, switch-case e operador ternário.
  • São essenciais para criar programas que respondem a diferentes situações de forma inteligente e flexível.