質問: Console.ReadLine();//p35 switch (deathWhere)//p113 { case "0": Console.WriteLine("――私も醤油が好きです――"); break; case "1": Console.WriteLine("――味噌も美味しいですね――"); break; case "2"://ここに何かしらの処理を加えて、「Console.WriteLine("0:ラーメン 1:カレー");」の選択肢を再び表示させたい } } ``` お手数ですが、回等願います。
回答: 2通りのやり方がある。 1.全体をwhileで囲んで、case2以外をbreakさせる 2.冒頭にラベルを張って、case2の時にgoto ラベルする 1. ``` static void Main(string[] args) { while (true) { Console.WriteLine("0:ラーメン 1:カレー"); Console.Write("好きな食べ物――"); string stfood = Console.ReadLine(); if (int.TryParse(stfood, out int nfood)) { if (nfood == 0) { Console.WriteLine("0:醤油 1:味噌 2:食べ物の選択肢に戻る"); Console.Write("何味が好き――"); string deathWhere = Console.ReadLine(); switch (deathWhere) { case "0": Console.WriteLine("――私も醤油が好きです――"); break; case "1": Console.WriteLine("――味噌も美味しいですね――"); break; } if (deathWhere != "2") { break; } } } } } ``` 2. ``` static void Main(string[] args) { Start: Console.WriteLine("0:ラーメン 1:カレー"); Console.Write("好きな食べ物――"); string stfood = Console.ReadLine(); if (int.TryParse(stfood, out int nfood)) { if (nfood == 0) { Console.WriteLine("0:醤油 1:味噌 2:食べ物の選択肢に戻る"); Console.Write("何味が好き――"); string deathWhere = Console.ReadLine(); switch (deathWhere) { case "0": Console.WriteLine("――私も醤油が好きです――"); break; case "1": Console.WriteLine("――味噌も美味しいですね――"); break; default: goto Start; } } } } ```