Switch case – Estruturas de Decisão [C#]

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.

 

E para receber um aviso quando os próximos artigos forem publicados, se cadastre na lista VIP do Celso.

Comece pelo e-book GRATUITO

5 Passos Para Ser Um App Dev

Se você não sabe por onde começar, este e-book te mostra os passos para ser um desenvolvedor de aplicativos de sucesso.
100% livre de spam.

Para enviar seu comentário, preencha os campos abaixo:

Deixe uma resposta

*

Seja o primeiro a comentar!