Guia Prático: Sobrecarga de Métodos no C# para Todos
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!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!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!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
- If e
📊 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. Else
- Switch
- Operadores Relacionais e
📊 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. Lógicos
- Exemplos Práticos e Dicas
🔢 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
- Conclusão
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!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!)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/Else: Toma uma decisão binária (verdadeiro ou falso) e
📊 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., se necessário, oferece um caminho alternativo.
- Switch: Ideal quando
📊 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. temos diversas opções (ou cases) bem definidos.
If e Else🔗
O if
e📊 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!)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!)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!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!)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:
Operador | Significado | Exemplo Real | ||||
---|---|---|---|---|---|---|
== | Igualdade | if (senha == "1234") | ||||
!= | Diferente | if (produto != null) | ||||
> | Maior que | if (temperatura > 38.5) | ||||
< | Menor que | if (idade < 60) | ||||
>= | Maior ou igual | if (estoque >= pedido) | ||||
&& | E lógico | if (logado && temAcesso) | ||||
|
| OU lógico | if (cartaoCredito | pix)
|
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!)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)!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!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!)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!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!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
- Quando
📊 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. você tiver muitas condições (
if
,else if
,else
) e📊 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. acabar com blocos de código gigantes, avalie se não está na hora de um
switch
. - Se mesmo o
switch
ficar muito grande, talvez seja útil repensar a lógica ou extrair partes do código em métodos🧠 Métodos em C#: Como Criar Funções que Não São Só Enfeites!Otimize seu código em C# com métodos inteligentes. Aprenda práticas de reutilização, sobrecarga e escopo para melhorar a clareza e a eficiência. separados.
- Use nomes de variáveis
🧠 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. que deixem clara a intenção, facilitem a leitura e
📊 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. evitem confusão.
- Prefira simplificar expressões condicionais (por exemplo:
idade >= 18
é mais claro do que!(idade < 18)
). - Cuidado com o
default
noswitch
- aproveite para adicionar📦 List<T>: Dinamismo além dos Arrays!Descubra como utilizar List<T> em C# de forma eficiente. Aprenda a criar, manipular e otimizar listas para diferentes cenários com exemplos práticos. uma mensagem clara caso algo fora do esperado aconteça.
Desafio Prático: Sistema de Descontos Inteligente🔗
Cenário: Uma loja precisa de um sistema que aplica descontos baseado em:
- Tipo
🧠 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 cliente (Regular, Premium, VIP)
- Valor
🗂️ Dicionários: Acesse Dados por Chaves como um Mestre dos HashMaps!Aprenda a usar dicionários em C# de modo prático e eficiente. Nosso tutorial mostra criação, acesso e otimização para manipular dados com segurança. total da compra
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!)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!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!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!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!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!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!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🔗
- .NET Documentation: learn.microsoft.com/pt-br/dotnet/
- Awesome .NET: github.com/quozd/awesome-dotnet
- C# Language Specification: learn.microsoft.com/pt-br/dotnet/csharp/language-reference/language-specification/
- GitHub: Microsoft/.NET: github.com/dotnet
- Microsoft Learn: C# e .NET: learn.microsoft.com/pt-br/dotnet/csharp/