ネストした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 がないとコンパイルエラーになります。
適切にインデントして、コードを読みやすく保つことを忘れないでください。
チャレンジ
中級calculatePriceというメソッドを作成します。このメソッドは次の処理を行います。
- 3つのパラメーターを受け取ります。
- productType (string): "Electronics"、"Clothing"、または"Food"
- productTier (string): "Basic"、"Premium"、または"Luxury"
- basePrice (int): 商品の開始価格
- 次のルールを適用した後の最終価格(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)
{
// ここにコードを書いてください
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
自分で練習してみよう: C#オンラインコンパイラ