Exercício – Concluir uma atividade desafiadora 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 em que é preciso realizar uma conversão para instruções de alternância

Neste desafio, você reescreverá um constructo if-elseif-else como uma instrução switch. Esse desafio deve ajudá-lo a ver os pontos fortes/fracos da declaração switch quando comparado à construção if-elseif-else. Boa sorte.

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

Você começará com o código que usa um if-elseif-else constructo para avaliar os componentes de um SKU do produto. A SKU (Unidade de Manutenção de Estoque) é 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 (moletom)-(marrom)-(grande) e o código gera uma descrição que aparece como "Produto: Moletom Marrom Grande".

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

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

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

    1. No menu Arquivo , selecione Abrir Pasta.

    2. Use a caixa de diálogo Abrir Pasta para navegar e, em seguida, abra a pasta CsharpProjects.

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

    4. No menu Seleção do Visual Studio Code, selecione Selecionar Tudo e pressione a tecla Delete.

  2. Insira o seguinte código no Editor do Visual Studio Code:

    // 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 instrução switch no lugar do constructo 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 você tiver dificuldades e precisar espiar a solução ou mesmo se terminar com sucesso, prossiga para ver uma solução para esse desafio.