Øvelse – fuldfør en udfordringsaktivitet ved hjælp af switch-sætninger

Fuldført

Kodeudfordringer styrker det, du har lært, og hjælper dig med at få lidt tillid, før du fortsætter.

Konvertér til switch-sætningsudfordring

I denne udfordring skal du omskrive en if-elseif-else konstruktion som en switch sætning. Denne udfordring bør hjælpe dig med at se styrker/svagheder i sætningen switch sammenlignet med en if-elseif-else konstruktion. Held og lykke.

Kodeudfordring: Omskriv if-elseif-else ved hjælp af en switch-sætning

Du starter med kode, der bruger en if-elseif-else konstruktion til at evaluere komponenterne i en produktvare. SKU'en (Lagerenhed) er formateret ved hjælp af tre kodede værdier: <product #>-<2-letter color code>-<size code>. En SKU-værdi for 01-MN-L svarer f.eks. til (sweat shirt)-(maroon)-(large), og koden returnerer en beskrivelse, der vises som "Produkt: Stor rødbrun svedskjorte".

Din udfordring er at konvertere sætningskoden if til en switch sætning, der opnår det samme resultat som den oprindelige kode.

  1. Sørg for, at du har åbnet en tom Program.cs fil i Visual Studio Code.

    Hvis det er nødvendigt, skal du åbne Visual Studio Code og derefter udføre følgende trin for at forberede en Program.cs fil i Editor:

    1. Vælg Åbn mappe i menuen Filer.

    2. Brug dialogboksen Åbn mappe til at navigere til og derefter åbne mappen CsharpProjects .

    3. Vælg Program.cs i panelet Visual Studio Code EXPLORER.

    4. I menuen Visual Studio Code Selection skal du vælge Select All og derefter trykke på Delete.

  2. Angiv følgende kode i Visual Studio Code Editor:

    // 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. Opdater koden for at bruge en switch sætning i stedet for konstruktionen if-elseif-else .

  4. Kontrollér, at outputtet ikke er ændret.

    Uanset hvordan du gør det, skal din kode producere følgende output:

    Product: Large Maroon Sweat shirt
    

Uanset om du sidder fast og har brug for at kigge på løsningen, eller du er færdig, skal du fortsætte med at se en løsning på denne udfordring.