Menu
CoddyTech

ネストしたSwitch文

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部。レッスン 11/66。

ネストされた switch 文を使うと、より複雑な意思決定のために、ある switch 文の中に別の switch 文を配置できます。

基本的なネストされた switch を作成します。

string department = "Sales";
string level = "Senior";

switch (department)
{
    case "Sales":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("Sales Junior");
                break;
            case "Senior":
                Console.WriteLine("Sales Senior");
                break;
        }
        break;
    case "IT":
        switch (level)
        {
            case "Junior":
                Console.WriteLine("IT Junior");
                break;
            case "Senior":
                Console.WriteLine("IT Senior");
                break;
        }
        break;
}

内側と外側の両方の switch で、各 case の最後には必ず break 文を置いてください。C# では case を次の case にフォールスルーさせることはできないため、break がないとコンパイルエラーになります。

適切にインデントして、コードを読みやすく保つことを忘れないでください。

challenge icon

チャレンジ

中級

calculatePriceというメソッドを作成します。このメソッドは次の処理を行います。

  1. 3つのパラメーターを受け取ります。
    • productType (string): "Electronics"、"Clothing"、または"Food"
    • productTier (string): "Basic"、"Premium"、または"Luxury"
    • basePrice (int): 商品の開始価格
  2. 次のルールを適用した後の最終価格(int)を返します。
    • 電子機器の場合:
      • Basic:基本価格に$50を加算
      • Premium:基本価格に$100を加算
      • Luxury:基本価格に$250を加算
    • 衣料品の場合:
      • Basic:基本価格に$10を加算
      • Premium:基本価格に$50を加算
      • Luxury:基本価格に$100を加算
    • 食品の場合:
      • Basic:基本価格を変更しない
      • Premium:基本価格に$15を加算
      • Luxury:基本価格に$30を加算
    • その他の商品タイプまたは商品ランクの場合は、基本価格を変更せずに返します

自分で試してみよう

public class CalculatePrice
{
    // calculatePrice メソッドを実装してください
    public static int calculatePrice(string productType, string productTier, int basePrice)
    {
        // ここにコードを書いてください
        
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: C#オンラインコンパイラ