回答編集履歴

2 追記

退会済みユーザー

退会済みユーザー

2019/03/15 00:00  投稿

2通りのやり方がある。
1.全体をwhileで囲んで、case2以外をbreakさせる
2.冒頭にラベルを張って、case2の時にgoto ラベルする
1.
.
```C#
       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.
.
```C#
       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;
                   }
               }
           }
       }
```
1 追記

退会済みユーザー

退会済みユーザー

2019/03/14 23:58  投稿

2通りのやり方がある。
1.全体をwhileで囲んで、case2以外をbreakさせる
2.冒頭にラベルを張って、case2の時にgoto ラベルする
2.冒頭にラベルを張って、case2の時にgoto ラベルする
1.
```C#
       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.
```C#
       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;
                   }
               }
           }
       }
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る