Exercício - Conclua uma tarefa desafiante 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 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.
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:
No menu Arquivo, selecione Abrir pasta.
Use a caixa de diálogo Abrir pasta para navegar até a pasta CsharpProjects e abri-la.
No painel do Visual Studio Code EXPLORER, selecione Program.cs.
No menu Seleção de código do Visual Studio, selecione Selecionar tudo e pressione a tecla Delete.
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}");Atualize o código para usar uma expressão
switchno lugar do construtoif-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 tiver dificuldades e precisar de ver a solução ou se terminar com êxito, continue para ver uma solução deste desafio.