Övning – Slutför en utmaning med hjälp av switch-satser.

Fullbordad

Kodutmaningar förstärker det du har lärt dig och hjälper dig att få lite förtroende innan du fortsätter.

Utmaning att konvertera till switch-satser

I den här utmaningen skriver du om en if-elseif-else konstruktion som en switch instruktion. Den här utmaningen bör hjälpa dig att se styrkorna/svagheterna hos switch-uttalandet jämfört med en if-elseif-else-konstruktion. Lycka till.

Kodutmaning: Skriv om if-elseif-else med hjälp av en switch-instruktion

Du börjar med kod som använder en if-elseif-else konstruktion för att utvärdera komponenterna i en produkt-SKU. SKU :n (Lagerhållningsenhet) är formaterad med tre kodade värden: <product #>-<2-letter color code>-<size code>. Ett SKU-värde 01-MN-L motsvarar till exempel (tröja)-(rödbrun)-(stor) och koden visar en beskrivning som visas som "Product: Large Maroon Sweat shirt".

Din utmaning är att konvertera instruktionskoden if till en switch -instruktion som uppnår samma resultat som den första koden.

  1. Kontrollera att du har en tom Program.cs fil öppen i Visual Studio Code.

    Om det behövs öppnar du Visual Studio Code och utför sedan följande steg för att förbereda en Program.cs fil i redigeraren:

    1. På menyn Arkiv väljer du Öppna mapp.

    2. Använd dialogrutan Öppna mapp för att navigera till CsharpProjects-mappen och öppna den sedan.

    3. I panelen Visual Studio Code EXPLORER väljer du Program.cs.

    4. På menyn Val i Visual Studio Code väljer du Välj alla och tryck sedan på Delete-tangenten.

  2. Ange följande kod i Visual Studio Code-redigeraren:

    // 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. Uppdatera koden så att den använder en switch -instruktion i stället för konstruktionen if-elseif-else .

  4. Kontrollera att dina utdata inte har ändrats.

    Oavsett hur du gör det bör koden generera följande utdata:

    Product: Large Maroon Sweat shirt
    

Oavsett om du fastnar och behöver titta på lösningen eller om du har slutfört den, kan du fortsätta och se en lösning på den här utmaningen.