Pular para o conteúdo
.NETOperadores e controle de fluxo
Módulo 01Fundamentos da Plataforma e da Linguagem

Operadores e controle de fluxo

iniciante 25 min de leitura·Atualizado · .NET 9
Resumo

Operadores combinam valores; estruturas de controle decidem o caminho (if/switch) e repetem trabalho (for/foreach/while). São a base de qualquer lógica.

1. Objetivos de Aprendizagem#

  • Usar operadores aritméticos, de comparação e lógicos.
  • Escrever condicionais com if/else e switch.
  • Iterar com for, foreach e while.

2. Pré-requisitos#

  • Tipos e variáveis (tópico 3.1).

3. Conceito#

  • Aritméticos: + - * / %.
  • Comparação: == != < > <= >=.
  • Lógicos: && (E), || (OU), ! (negação) — com short-circuit.
  • Controle: if/else, switch (statement e expression), laços for, foreach, while, do/while.

O porquê do foreach: percorrer coleções sem gerenciar índices, reduzindo erros de limite.

4. Mão na Massa#

4.1. Setup#

Shell
dotnet new console -n Catalog.Fluxo
cd Catalog.Fluxo

4.2. Implementação Passo a Passo#

  1. Condicional:
C#
int estoque = 3;
if (estoque == 0)
    Console.WriteLine("Esgotado");
else if (estoque < 5)
    Console.WriteLine("Estoque baixo");
else
    Console.WriteLine("Disponível");
  1. switch expression (C# moderno):
C#
string faixa = estoque switch
{
    0 => "esgotado",
    < 5 => "baixo",
    _ => "ok"          // caso padrão
};
  1. Laços:
C#
for (int i = 0; i < 3; i++)
    Console.WriteLine($"linha {i}");

var produtos = new[] { "Mouse", "Teclado", "Monitor" };
foreach (var p in produtos)
    Console.WriteLine(p);

int n = 3;
while (n > 0) { Console.WriteLine(n); n--; }

4.3. Executando#

Shell
dotnet run

5. Exemplo Completo#

C#
var precos = new[] { 10m, 250m, 90m };
decimal soma = 0;
foreach (var preco in precos)
    soma += preco;
Console.WriteLine($"Total: {soma:C} — média: {soma / precos.Length:C}");

6. Boas Práticas e Armadilhas#

FaçaEvite
Preferir switch expression para mapeamentosCadeias enormes de if/else if
Usar foreach para coleçõesÍndices manuais propensos a estourar limites
Aproveitar short-circuit (&&, ||)Comparar string com == ignorando cultura/caixa quando importa
Atenção

= (atribuição) é diferente de == (comparação). Trocar um pelo outro é erro clássico — o compilador ajuda, mas nem sempre.

7. Segurança e Produção#

  • Sempre tenha um caso padrão (_/default) ao mapear valores externos, para não deixar entradas inesperadas sem tratamento.

8. Exercícios#

  • Fácil: escreva um if que classifica um número em positivo/negativo/zero.
  • Médio: reescreva o mesmo com switch expression.
  • Desafio: some apenas os números pares de um array usando foreach e %.

9. Resumo#

Operadores combinam valores; if/switch decidem; for/foreach/while repetem. switch expression e foreach tornam o código mais claro e seguro.

10. Próximos Passos#

A seguir, métodos e parâmetros.

11. Referências#

03-02 — Operadores e controle de fluxo | Curso ASP.NET Core