Exercício – Concluir uma atividade desafiadora usando declarações switch
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.
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:
No menu Arquivo , selecione Abrir Pasta.
Use a caixa de diálogo Abrir Pasta para navegar e, em seguida, abra a pasta CsharpProjects.
No painel EXPLORER do Visual Studio Code, selecione Program.cs.
No menu Seleção do Visual Studio Code, selecione Selecionar Tudo e pressione a tecla Delete.
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}");Atualize o código para usar uma instrução
switchno lugar do constructoif-elseif-else.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.