Estruturas Condicionais em C#: Guia Prático e Completo

Tomar decisões é uma parte essencial da programação. Seja para verificar se um usuário pode fazer login, se há estoque disponível para um produto🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados. ou para escolher qual mensagem exibir ao cliente, as estruturas condicionais são o coração da lógica em C#. Neste artigo, vamos explorar como usar if, else e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. switch para tomar decisões de forma eficiente, clara e organizada, com exemplos práticos e dicas para boas práticas🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados..

Tabela de Conteúdo🔗

Conceito de Estruturas Condicionais🔗

Uma estrutura condicional permite que seu programa decida qual trecho de código executar🔍 Comandos: Desacople Ações dos Botões!🔍 Comandos: Desacople Ações dos Botões!Aprenda a implementar comandos em C# para desacoplar lógica e interface usando MVVM, com exemplos práticos e dicas para melhor testabilidade e manutenção. com base em uma condição (ou várias). Em resumo, você faz uma pergunta (por exemplo, “o cliente tem saldo suficiente?”) e, dependendo da resposta (sim ou não), escolhe caminhos diferentes para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! o fluxo da aplicação.

Em C#, as principais formas de se fazer isso são:

If e Else🔗

O if e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. o else permitem controlar o fluxo de execução do programa com base em condições booleanas.

Sintaxe

if (condicao) 
{
    // Bloco de código executado se "condicao" for verdadeira
}
else
{
    // Bloco de código executado se "condicao" for falsa
}

Exemplos Básicos

Imagine um cenário simples em que você quer verificar se um usuário atingiu a maioridade (no contexto geral, 18 anos em muitos países):

int idade = 20;
if (idade >= 18)
{
    Console.WriteLine("Você é maior de idade!");
}
else
{
    Console.WriteLine("Você ainda não completou 18 anos!");
}

Nesse exemplo, se idade >= 18 for🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! verdadeiro, mostramos uma mensagem. Caso contrário, outro bloco de código será executado.

If/Else If/Else

É comum encontrarmos situações em que precisamos verificar várias condições diferentes. Para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! isso, usamos else if:

int nota = 85;
if (nota >= 90)
{
    Console.WriteLine("Você tirou A!");
}
else if (nota >= 80)
{
    Console.WriteLine("Você tirou B!");
}
else if (nota >= 70)
{
    Console.WriteLine("Você tirou C!");
}
else
{
    Console.WriteLine("Você está reprovado ou precisa de reforço!");
}

Acima, são checadas várias faixas de notas, e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. a cada else if, direcionamos a execução para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! um bloco específico.

Operadores Relacionais e Lógicos: As Regras do Jogo🔗

Tabela de Operadores Essenciais:

OperadorSignificadoExemplo Real
==Igualdadeif (senha == "1234")
!=Diferenteif (produto != null)
>Maior queif (temperatura > 38.5)
<Menor queif (idade < 60)
>=Maior ou igualif (estoque >= pedido)
&&E lógicoif (logado && temAcesso)
OU lógicoif (cartaoCreditopix)

Exemplo Complexo: Sistema eleitoral

int idade = 16;
bool brasileiroNato = true;
if ((idade >= 16 && brasileiroNato) || idade >= 70)
{
    Console.WriteLine("Voto obrigatório!"); // Errado ❌
    Console.WriteLine("Voto facultativo!"); // Correto ✅
}

Switch🔗

O switch é outro tipo🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)🧠 Variáveis em C#: Onde os Dados Ganham Vida (e Nome!)Descubra como as variáveis em C# funcionam, com exemplos do mundo real, boas práticas de nomeação e dicas para otimizar seu código. de estrutura condicional que facilita o gerenciamento de vários casos sem precisar de vários else if. Ele é muito útil quando trabalhamos com um conjunto de valores🏗️ Classes vs. Structs: Quando Usar Cada Uma (e Não Quebrar a Cabeça)!🏗️ Classes vs. Structs: Quando Usar Cada Uma (e Não Quebrar a Cabeça)!Descubra como escolher entre classes e structs em C#. Aprenda sobre alocação de memória, passagem por valor e referência, e performance nesta explicação clara. bem definidos - por exemplo, menu de opções, estados de um pedido ou até códigos numéricos.

Sintaxe Básica

switch (expressao)
{
    case valorA:
        // Executa este bloco se "expressao" == valorA
        break;
    case valorB:
        // Executa este bloco se "expressao" == valorB
        break;
    default:
        // Executa este bloco se nenhum dos casos acima for atendido
        break;
}

Exemplo Prático

Digamos que temos um sistema que processa o status de um pedido de e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades.-commerce, como “Pendente”, “Processando” ou “Enviado”:

string statusPedido = "Processando";
switch (statusPedido)
{
    case "Pendente":
        Console.WriteLine("Seu pedido está aguardando processamento.");
        break;
    case "Processando":
        Console.WriteLine("Estamos separando o seu produto!");
        break;
    case "Enviado":
        Console.WriteLine("Seu pedido já está a caminho.");
        break;
    default:
        Console.WriteLine("Status inválido ou desconhecido.");
        break;
}

Se statusPedido for🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! "Processando", o console exibirá "Estamos separando o seu produto🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados.!".

Exemplos Práticos e Dicas🔗

1. Verificando Promoções Dinâmicas

Imagine que você está implementando a promoção do dia em um sistema de vendas🎲 Desafio: Analise Dados de Vendas com LINQ e Coleções!🎲 Desafio: Analise Dados de Vendas com LINQ e Coleções!Aprenda a usar coleções e LINQ em C# para analisar vendas, filtrar dados e extrair insights estratégicos que otimizem decisões e impulsionem seu negócio.. Uma boa abordagem é usar switch com base na opção selecionada pelo usuário:

Console.WriteLine("Digite o código da promoção (1, 2, 3):");
int codigoPromocao = Convert.ToInt32(Console.ReadLine());
switch (codigoPromocao)
{
    case 1:
        Console.WriteLine("Promoção: Frete Grátis!");
        break;
    case 2:
        Console.WriteLine("Promoção: Desconto de 10%!");
        break;
    case 3:
        Console.WriteLine("Promoção: Brinde Surpresa!");
        break;
    default:
        Console.WriteLine("Código de promoção inválido.");
        break;
}

2. Evitando Blocos Enormes

3. Boas Práticas🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!🔢 Operadores Aritméticos: Faça Cálculos como uma Calculadora Humana!Aprenda a dominar operadores aritméticos em C# com exemplos práticos, técnicas de cálculo e dicas para evitar erros e maximizar resultados.

Desafio Prático: Sistema de Descontos Inteligente🔗

Cenário: Uma loja precisa de um sistema que aplica descontos baseado em:

Regras:

  • Regular: 5% acima de R$ 500
  • Premium: 10% acima de R$ 300 + R$ 50 extra acima de R$ 1000
  • VIP: 15% fixo + 5% adicional acima de R$ 2000
// Esqueleto inicial:
enum TipoCliente { Regular, Premium, VIP }
decimal CalcularDesconto(TipoCliente tipo, decimal valorTotal)
{
    // Implemente sua lógica aqui!
}

Dica: Combine switch com if aninhados para cada categoria. Use operadores lógicos para🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)🔄 Loops em C#: Repita Tarefas sem Enlouquecer (Com for e while!)Descubra como automatizar repetições em C# utilizando loops for e while com exemplos práticos que evitam erros e otimizam seu código. Aprenda mais! condições complexas!

Teste seu código com:

  • VIP, R$ 2500 → Deve retornar 20% de desconto
  • Premium, R$ 1500 → 10% + R$ 50
  • Regular, R$ 600 → 5%

Conclusão🔗

As estruturas condicionais são como os semáforos do código: controlam o fluxo do seu programa e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. garantem que decisões sejam bem encaminhadas. Aprender a usá-las de forma inteligente - definindo bem as condições e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. mantendo o código organizado - faz toda a diferença no desenvolvimento de soluções em C#. Dar atenção à clareza e separar bem os casos de uso🔏 Criptografia Assimétrica: Domine RSA e Troca de Chaves!🔏 Criptografia Assimétrica: Domine RSA e Troca de Chaves!Descubra como a criptografia assimétrica protege a troca de chaves e garante segurança em sistemas digitais usando RSA, C# e práticas recomendadas. ajuda você a crescer como desenvolvedor (a) e a entregar sistemas mais consistentes e fáceis de manter.

Explore diferentes cenários📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. e experimente if/else ou switch em exemplos práticos. Dessa forma, você vai internalizar a lógica e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. ficar cada vez mais confortável ao lidar com condições e📊 Behavior-Driven Development: Testes que Todo Mundo Entende!📊 Behavior-Driven Development: Testes que Todo Mundo Entende!Descubra como o BDD transforma testes em linguagens acessíveis. Aprenda a usar SpecFlow em C# para criar testes claros, colaborativos e sem ambiguidades. bifurcação de fluxos em seus programas.

Autor: Marcelo V. Souza - Engenheiro de Sistemas e Entusiasta em IoT e Desenvolvimento de Software, com foco em inovação tecnológica.

Referências🔗

Compartilhar artigo

Artigos Relacionados