A Função Switch Case em C#: Simplificando a Lógica de Decisão
- #C#
Em linguagens de programação como C#, muitas vezes encontramos situações em que precisamos tomar decisões com base no valor de uma variável ou expressão. Uma estrutura de controle fundamental para lidar com essas situações é o switch case. Esta estrutura oferece uma maneira eficiente e elegante de lidar com várias opções de decisão, simplificando o código e tornando-o mais legível.
O que é o switch case?
É uma estrutura de controle de fluxo em C# (e em muitas outras linguagens de programação, como o Java, por exemplo) que permite que um programa escolha entre várias alternativas com base no valor de uma expressão. Em essência, o switch case é uma alternativa mais limpa e organizada aos blocos if-else aninhados.
A sintaxe básica do switch case em C# é a seguinte:
switch (expressao)
{
case valor1:
// Código a ser executado se a expressão for igual a valor1
break;
case valor2:
// Código a ser executado se a expressão for igual a valor2
break;
// Outros casos possíveis
default:
// Código a ser executado se nenhum dos casos anteriores for correspondido
break;
}
O funcionamento do switch é bem simples:
- A expressão é avaliada.
- Cada case representa um possível valor de avaliação.
- Se o valor da expressão corresponder com o case, o código dentro do case é executado.
- Use-se o break para finalizar o case.
- O default é um caso opcional e é executado se nenhum case coincidir.
Exemplo de aplicação - Calculadora simples:
double num1 = 10;
double num2 = 5;
char operador = '+';
double resultado;
switch (operador)
{
case '+':
resultado = num1 + num2;
break;
case '-':
resultado = num1 - num2;
break;
case '*':
resultado = num1 * num2;
break;
case '/':
resultado = num1 / num2;
break;
default:
Console.WriteLine("Operador inválido");
return;
}
Console.WriteLine($"Resultado: {resultado}");
Este pode ser um exemplo bem simples da aplicação da função, podemos observar que no inicio dó código temos o variavel operador definida com o valor '+'. Desse modo ao executar o switch, entrará na case '+' e executará a operação de soma. Onde somará o valor de num1 + num2, originando o resultado:
Resultado: 15
Do mesmo modo que o valor da operação foi aplicado como '+', o mesmo poderia receber qualquer valor de operação que está dentro dos case ('+', '-', '*', '/'). Caso o valor não for um dos quatro valores esperados, será executado o defaut, que retornará no console:
Operador inválido
Vale ressaltar que o valor do operador não precisa ser definido na váriavel pelo código, pode ser lida pelo teclado durante a execução do código, e os valores dos cases não precisam ser um operador utilizando o char, podem ser valores double ou int por exemplo.
Exemplo de aplicação - Dia da semana:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Digite o número do dia da semana (1 para Domingo, 2 para Segunda-feira, etc.):");
// Lê o dia da semana digitado pelo usuário
int dia;
bool entradaValida = int.TryParse(Console.ReadLine(), out dia);
// Verifica se a entrada é válida
if (entradaValida)
{
string nomeDia;
// Utiliza a estrutura switch-case para determinar o nome do dia correspondente
switch (dia)
{
case 1:
nomeDia = "Domingo";
break;
case 2:
nomeDia = "Segunda-feira";
break;
case 3:
nomeDia = "Terça-feira";
break;
case 4:
nomeDia = "Quarta-feira";
break;
case 5:
nomeDia = "Quinta-feira";
break;
case 6:
nomeDia = "Sexta-feira";
break;
case 7:
nomeDia = "Sábado";
break;
default:
nomeDia = "Dia inválido";
break;
}
Console.WriteLine($"O dia é {nomeDia}");
}
else
{
Console.WriteLine("Entrada inválida. Por favor, digite um número válido para o dia da semana.");
}
}
}
Como citado anteriormente, nesse segundo exemplo o valor de entrada é um int que é lido na execução do código e entrando dentro do switch, com a utilização dos cases será definido qual é o sia da semana, e caso digitar um valor diferente do esperado será retornado que o "Dia é inválido", e caso o valor seja inválido, será retornado que a "Entrada inválida. Por favor, digite um número válido para o dia da semana".
Conclusão:
A função switch case em C# oferece uma maneira eficiente e estruturada de lidar com múltiplas opções de decisão. É especialmente útil quando há uma série de valores possíveis para uma variável ou expressão. Ao usar o a função, os programadores podem escrever código mais limpo, legível e fácil de manter. No entanto, é importante lembrar de incluir a instrução break em cada caso e considerar o caso padrão (defaut) para lidar com valores não previstos.
Para mais informações sobre switch case em C# e todo o resto da documentação, você pode acessar o link: https://learn.microsoft.com/pt-br/dotnet/csharp/ .