Da trilha de C# Este conceito ainda não saiu como card do dia. ir para o card de hoje

C# Controle de fluxo Básico

Controle de fluxo

Controle de fluxo é o que permite ao programa tomar decisões e repetir tarefas. Em C#, as estruturas principais são if/else, switch, for, foreach e while. Cada uma tem um uso ideal: if para condições booleanas, switch para comparar um valor com vários casos, for para repetições com contador, foreach para percorrer coleções e while para repetir enquanto uma condição for verdadeira.

O switch tradicional usa case e break; já a switch expression (a partir do C# 8) retorna um valor de forma mais concisa e é muito usada com pattern matching. Ela elimina a necessidade de break e de variáveis auxiliares.

Laços de repetição evitam duplicação de código. for é ideal quando sabemos quantas vezes repetir; foreach percorre todos os elementos de um array ou lista; while repete enquanto a condição for verdadeira e é útil quando não sabemos o número exato de iterações.

Dominar essas estruturas é essencial para escrever qualquer programa não trivial. A escolha da estrutura certa deixa o código mais legível, seguro e expressivo.

Pontos-chave

  • if/else executa blocos com base em condições booleanas.
  • switch clássico compara um valor com vários case e exige break para evitar fall-through.
  • for é usado quando se conhece o número de iterações; foreach percorre coleções.
  • while repete enquanto a condição for verdadeira, podendo ser infinito se mal usado.
  • Switch expressions retornam um valor e usam => para cada caso, sendo mais concisas.
ControleFluxo.cs
using System;

class ControleFluxo
{
    static void Main()
    {
        // if/else
        int idade = 20;
        if (idade >= 18)
            Console.WriteLine("Maior de idade");
        else
            Console.WriteLine("Menor de idade");

        // switch clássico
        int dia = 3;
        switch (dia)
        {
            case 1:
                Console.WriteLine("Domingo");
                break;
            case 3:
                Console.WriteLine("Terça");
                break;
            default:
                Console.WriteLine("Outro dia");
                break;
        }

        // switch expression
        string nomeDia = dia switch
        {
            1 => "Domingo",
            3 => "Terça",
            _ => "Outro dia"
        };
        Console.WriteLine(nomeDia);

        // for
        for (int i = 0; i < 3; i++)
            Console.WriteLine($"for: {i}");

        // foreach
        string[] frutas = { "Maçã", "Banana", "Uva" };
        foreach (var fruta in frutas)
            Console.WriteLine($"fruta: {fruta}");

        // while
        int contador = 0;
        while (contador < 3)
        {
            Console.WriteLine($"while: {contador}");
            contador++;
        }
    }
}

Exercícios

  1. 1
    Fácil

    Classificando idade com if/else

    Escreva um programa que leia a idade de uma pessoa e imprima "Criança" se a idade for menor que 12, "Adolescente" se for de 12 a 17, e "Adulto" se for 18 ou mais. Use if/else if/else.

    Resolver
  2. 2
    Médio

    Somando números pares com for e foreach

    Dado um array de inteiros, use um laço for para calcular a soma de todos os números pares e um foreach para imprimir cada número par encontrado. Ao final, mostre a soma.

    Resolver
  3. 3
    Desafio

    Menu interativo com while e switch expression

    Crie um programa que exiba um menu com opções (1 - Somar, 2 - Subtrair, 3 - Sair) e leia a escolha do usuário repetidamente com while. Use uma switch expression para executar a operação escolhida e retornar o resultado. O programa deve continuar até o usuário digitar 3. Para simplificar, use valores fixos de exemplo para os operandos.

    Resolver

Continue estudando