練習 - 使用 switch 陳述式完成挑戰活動

已完成

程式碼挑戰將強化您所學到的內容,並協助您在繼續進行前先獲得一些信心。

切換為 switch 語句挑戰

在此挑戰中,您將重寫 if-elseif-else 建構作為 switch 陳述式。 與 if-elseif-else 結構相較,此挑戰可協助您了解 switch 陳述式的優劣。 祝您好運。

程式碼挑戰:使用 switch 陳述式重寫 if-elseif-else

您將從使用 if-elseif-else 建構來評估產品 SKU 元件的程式碼開始。 SKU (庫存單位) 的格式是透過三個編碼的值來呈現:<product #>-<2-letter color code>-<size code>。 例如,01-MN-L 的 SKU 值會對應至 (sweat shirt)-(maroon)-(large),而程式碼會輸出顯示為「Product: Large Maroon Sweat shirt」的描述。

您的挑戰是將程式 if 陳述式代碼轉換成與初始程式碼相同的 switch 陳述式。

  1. 請確定您已在 Visual Studio Code 中開啟空的 Program.cs 檔案。

    如有必要,請開啟 Visual Studio Code,然後完成下列步驟,以在編輯器中備妥 Program.cs 檔案:

    1. 在 [檔案] 功能表上,選取 [開啟資料夾]

    2. 使用 [開啟資料夾] 對話方塊瀏覽至 CsharpProjects 資料夾,然後加以開啟。

    3. 在 Visual Studio Code 的 [總管] 窗格中,選取 [Program.cs]。

    4. 在 Visual Studio Code [選取項目] 功能表上,選取 [全部選取],然後按 [刪除] 鍵。

  2. 在 [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. 更新程式碼以使用 switch 陳述式替代 if-elseif-else 建構。

  4. 確認您的輸出尚未變更。

    無論您的做法如何,您的程式碼都應該產生下列輸出:

    Product: Large Maroon Sweat shirt
    

無論是遇到困難需要查看解決方案,還是已成功完成,都請繼續檢視此挑戰的解決方案。