Instruções Switch Aninhadas
Parte da seção Lógica & Fluxo do Journey de C# da Coddy. Lição 11 de 66.
Instruções switch aninhadas permitem colocar uma instrução switch dentro de outra para tomar decisões mais complexas.
Crie um switch aninhado básico:
string department = "Sales";
string level = "Senior";
switch (department)
{
case "Sales":
switch (level)
{
case "Junior":
Console.WriteLine("Sales Junior");
break;
case "Senior":
Console.WriteLine("Sales Senior");
break;
}
break;
case "IT":
switch (level)
{
case "Junior":
Console.WriteLine("IT Junior");
break;
case "Senior":
Console.WriteLine("IT Senior");
break;
}
break;
}Sempre inclua instruções break para evitar a passagem automática para o próximo case.
Lembre-se de manter seu código legível com a indentação adequada.
Desafio
MédioCrie um método chamado calculatePrice que:
- Aceite três parâmetros:
- productType (string): "Electronics", "Clothing" ou "Food"
- productTier (string): "Basic", "Premium" ou "Luxury"
- basePrice (int): O preço inicial do produto
- Retorne o preço final (int) após aplicar estas regras:
- Para Electronics:
- Basic: Adicione $50 ao preço base
- Premium: Adicione $100 ao preço base
- Luxury: Adicione $250 ao preço base
- Para Clothing:
- Basic: Adicione $10 ao preço base
- Premium: Adicione $50 ao preço base
- Luxury: Adicione $100 ao preço base
- Para Food:
- Basic: Nenhuma alteração no preço base
- Premium: Adicione $15 ao preço base
- Luxury: Adicione $30 ao preço base
- Para qualquer outro tipo ou nível de produto, retorne o preço base inalterado
- Para Electronics:
Experimente você mesmo
public class CalculatePrice
{
// Implemente o método calculatePrice
public static int calculatePrice(string productType, string productTier, int basePrice)
{
// Escreva seu código aqui
}
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Matrizes Multidimensionais
Noções Básicas de Matrizes 2DDeclaração e Inicialização de Matrizes 2DAcesso aos Elementos de Matrizes 2DLoops Aninhados com Matrizes 2DMatrizes IrregularesOperações Comuns com MatrizesRevisão - Multidimensional4Técnicas de Controle de Fluxo
Retornos AntecipadosCláusulas de GuardaInstruções de Salto (goto)Break e ContinueSimplificando Condicionais Aninhadas7Operadores Lógicos Avançados
Avaliação de Curto-CircuitoOperadores Lógicos CondicionaisPrecedência de OperadoresRevisão - Operadores Avançados2Tomada de Decisões Avançada
Múltiplas CondiçõesLógica Booleana ComplexaComparação entre If e SwitchInstruções Switch AninhadasRevisão - Decisões Avançadas5Tratamento de Exceções
Noções básicas de Try-CatchTipos de ExceçãoMúltiplos blocos CatchTrabalhando com ArquivosBloco FinallyUsando Using vs. Try-FinallyExceções PersonalizadasRecapitulação - Tratamento de Erros3Aprimoramentos de Loops
Desempenho de LoopsIteração de Estruturas ComplexasCada Tipo de LoopRefatoração de LoopsRevisão - Loops Otimizados6Tratamento de Nulos
Fundamentos de Referências NulasTipos de Valor AnuláveisPadrões de Verificação de NulosProgramação DefensivaRecapitulação — Segurança contra NulosPratique por conta própria: Compilador de C# online