Exercício - Conclua uma tarefa desafiante usando declarações switch

Concluído

Os desafios de código reforçarão o que você aprendeu e ajudarão você a ganhar alguma confiança antes de continuar.

Desafio Converter para alternar instruções

Neste desafio, você reescreverá uma if-elseif-else construção como uma switch declaração. Este desafio deve ajudá-lo a ver os pontos fortes / fracos da switch afirmação quando comparada a uma if-elseif-else construção. Boa sorte.

Desafio de código: reescrever if-elseif-else usando uma instrução switch

Você começará com o código que usa uma if-elseif-else construção para avaliar os componentes de uma SKU de produto. A SKU (Stock Keeping Unit) é formatada usando três valores codificados: <product #>-<2-letter color code>-<size code>. Por exemplo, um valor de SKU de 01-MN-L corresponde a (camisola)-(castanho-avermelhado)-(grande), e o código gera uma descrição que aparece como "Produto: Camisola Castanho-avermelhado Grande".

Seu desafio é converter o código da if instrução em uma switch instrução que atinja o mesmo resultado que o código inicial.

  1. Verifique se você tem um arquivo de Program.cs vazio aberto no Visual Studio Code.

    Se necessário, abra o Visual Studio Code e conclua as seguintes etapas para preparar um arquivo de Program.cs no Editor:

    1. No menu Arquivo, selecione Abrir pasta.

    2. Use a caixa de diálogo Abrir pasta para navegar até a pasta CsharpProjects e abri-la.

    3. No painel do Visual Studio Code EXPLORER, selecione Program.cs.

    4. No menu Seleção de código do Visual Studio, selecione Selecionar tudo e pressione a tecla Delete.

  2. Insira o seguinte código no Editor de Códigos do Visual Studio:

    // SKU = Stock Keeping Unit. 
    // SKU value format: <product #>-<2-letter color code>-<size code>
    string sku = "01-MN-L";
    
    string[] product = sku.Split('-');
    
    string type = "";
    string color = "";
    string size = "";
    
    if (product[0] == "01")
    {
        type = "Sweat shirt";
    } else if (product[0] == "02")
    {
        type = "T-Shirt";
    } else if (product[0] == "03")
    {
        type = "Sweat pants";
    }
    else
    {
        type = "Other";
    }
    
    if (product[1] == "BL")
    {
        color = "Black";
    } else if (product[1] == "MN")
    {
        color = "Maroon";
    } else
    {
        color = "White";
    }
    
    if (product[2] == "S")
    {
        size = "Small";
    } else if (product[2] == "M")
    {
        size = "Medium";
    } else if (product[2] == "L")
    {
        size = "Large";
    } else
    {
        size = "One Size Fits All";
    }
    
    Console.WriteLine($"Product: {size} {color} {type}");
    
  3. Atualize o código para usar uma expressão switch no lugar do construto if-elseif-else.

  4. Verifique se a saída não foi alterada.

    Não importa como você faça isso, seu código deve produzir a seguinte saída:

    Product: Large Maroon Sweat shirt
    

Se tiver dificuldades e precisar de ver a solução ou se terminar com êxito, continue para ver uma solução deste desafio.