Estruturas Condicionais
Estruturas condicionais permitem que um programa execute diferentes blocos de código com base em condições booleanas (true
ou false
). Elas são a principal maneira de criar lógica e tomar decisões em C#.
A Estrutura if
A instrução if
é a estrutura condicional mais fundamental. Ela executa um bloco de código somente se a condição especificada for true
.
Sintaxe:
Exemplo:
A Estrutura if-else
A instrução else
pode ser adicionada a um if
para executar um bloco de código alternativo quando a condição do if
for false
.
Sintaxe:
Exemplo:
A Estrutura if-else if-else
Para testar múltiplas condições em sequência, você pode usar a estrutura else if
. O C# avaliará as condições na ordem em que aparecem e executará o primeiro bloco de código cuja condição seja true
. O bloco else
final é opcional e serve como uma condição "pega-tudo" se nenhuma das anteriores for satisfeita.
Sintaxe:
Exemplo:
Variações de Sintaxe e Boas Práticas
Omissão de Chaves ({}
)
Em C#, se o bloco de código dentro de uma instrução if
, else if
ou else
contém apenas uma única linha de comando, as chaves {}
são opcionais.
Exemplo:
A Instrução switch
A instrução switch
é uma alternativa à estrutura if-else if-else
, ideal para quando você precisa comparar uma única variável contra uma lista de valores constantes.
case
: Define um valor a ser comparado com a variável doswitch
.break
: É obrigatório ao final de cadacase
para sair doswitch
e impedir a execução do próximocase
(fall-through).default
: É opcional e funciona como oelse
final, sendo executado se nenhumcase
corresponder.
Exemplo:
Expressões switch
(C# 8.0 e superior)
Versões mais recentes do C# introduziram a expressão switch
, uma forma mais moderna e concisa que é especialmente útil para atribuir um valor a uma variável com base em uma condição.
É uma expressão, o que significa que ela retorna um valor.
Usa a sintaxe
=>
(lambda).Não precisa de
case
oubreak
.Usa o descarte (
_
) para o casodefault
.Suporta pattern matching avançado.
Exemplo:
Quando Usar if
vs. switch
Use
if-else if
: Para condições complexas, comparações de intervalos (ex:idade > 18 && idade < 60
) ou quando múltiplas variáveis estão envolvidas.Use
switch
: Para comparar uma única variável contra um conjunto de valores constantes e distintos. A expressãoswitch
é a abordagem moderna e preferida quando disponível.