Continuando os artigos sobre estruturas de decisão, veremos hoje a estrutura switch case.
Switch case é uma outra estrutura de decisão disponível no C# que avalia uma condição como o if else, com a diferença de deixar o programa mais simples e fácil de entender.
Switch case
É usado quando precisamos de múltiplas condições if else em um programa. Ele também inclui um valor padrão, que é utilizado quando o resultado não está previsto em nenhuma das condições.
Sintaxe
switch(expressão) { case <valor1>: // bloco de código break; case <valor2>: // bloco de código break; case <valorN>: // bloco de código break; default // bloco de código break; }
Conforme a sintaxe acima, a instrução switch contém uma expressão entre parênteses. Ele também inclui vários cases, onde cada case representa um determinado valor literal. Os cases dentro do switch são separados pela palavra-chave break, que interrompe a execução de um case particular.
Além disso, o switch pode incluir uma declaração default (padrão) a ser executado se nenhum valor case satisfaça a expressão.
Nota: O rótulo case no switch deve ser exclusivo. Pode ser bool, char, string, inteiro, enum ou tipo nullable.
Considere o exemplo abaixo.
Exemplo
using System; class ExemploSwitchCase { static void main() { int x = 10; switch (x) { case 5: Console.WriteLine("Valor de x é 5."); break; case 10: Console.WriteLine("Valor de x é 10."); break; case 15: Console.WriteLine("Valor de x é 15."); break; default: Console.WriteLine("Valor desconhecido."); break; } } }
Goto no switch case
O switch case pode utilizar goto para “pular” até um case diferente.
Exemplo
using System; class ExemploSwitchCaseGoTo { static void main() { string tipoDeclaracao = "switch"; switch (tipoDeclaracao) { case "EstruturaDecisao": Console.Write(" é uma estrutura de decisão."); break; case "if.else": Console.Write("if-else"); break; case "ternary": Console.Write("Operador ternário"); break; case "switch": Console.Write("switch"); goto case "EstruturaDecisao"; } } }
Switch case aninhados
Declarações switch aninhadas são permitidas em C#.
Apenas escreva uma declaração switch dentro de outro switch case.
Exemplo
using System; class ExemploSwitchCaseAninhado { static void main() { int j = 5; switch (j) { case 5: Console.WriteLine(5); switch (j - 1) { case 4: Console.WriteLine(4); switch (j - 2) { case 3: Console.WriteLine(3); break; } break; } break; case 10: Console.WriteLine(10); break; case 15: Console.WriteLine(15); break; default: Console.WriteLine(100); break; } } }
Dicas
A instrução break deve ser utilizada em cada case e declarações default.
Se você estiver testando valores do tipo char, escreva-os dentro de aspas simples: case ‘1’, case ‘b’, case ‘C’, case ‘k’ e assim por diante.
Se você estiver testando valores do tipo string, escreva-os dentro de aspas duplas: case “Adicionar”, case “Subtrair”, case “Multiplicar”, caso “Dividir” e assim por diante.
Palavras finais
Neste artigo que você aprendeu a estrutura switch case e sua diferença de estruturas if else.
Você também aprendeu a usar o switch case em programas C#.
Vamos relembrar alguns pontos importantes:
- A instrução switch testa uma variável contra um conjunto de constantes.
- A instrução switch contém múltiplos rótulos case.
- A palavra-chave break interrompe a execução do case dentro do switch.
- O default será executado quando nenhum case satisfaz a expressão.
- Declarações switch aninhadas são permitidas. Mas tome cuidado com a legibilidade do código.
- Podemos utilizar também a palavra goto para direcionar o fluxo de execução dentro da estrutura switch case.
Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!
Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar
Bora aprender a programar!