C# 错误:控制无法从一个 case 标签('case0:')落到另一个 case 标签

我想知道数组中每个数据的位置、数据的索引号以及值。我尝试使用 switch case,但问题不断弹出“控制无法从一个 case 标签('case1:')落到另一个”。我想是因为我在另一个开关盒块内使用了开关盒。帮助我知道是否可以将开关盒放在另一个开关盒内。如果可能的话为什么我的代码是错误的?如果否,您能否建议我另一种方式来提供我想要的输出。我很高兴接受您的意见和建议。


   //Multi-dimensional Array

int i, c = 0;

string[,] custNames = new string[2, 2] { { "Bob", "Smith" }, { "Sally", "Marks" } };

            Console.WriteLine(custNames.Length);

 for (i = 0; i < custNames.Length; i++)

 {

  switch(i)

  {

      case 0:

           switch (c)

           {

               case 0:

                   c = 0;

                   Console.WriteLine("Array {0} : Value : {1}", i, 

                   custNames[i, c]);

                   continue;

               case 1:

                   c = 1;

                   Console.WriteLine("Array {0} : Value : {1}", i, 

                   custNames[i, c]);

                   continue;

               default:

                   break;                          

            }

      case 1:

           for (c = 0; c < custNames.Length; c++)

           {

            switch (c)

            {

                case 0:

                     Console.WriteLine("Array {0} : Value : {1}", i, 

                     custNames[i, c]);

                     continue;

                case 1:

                     Console.WriteLine("Array {0} : Value : {1}", i, 

                     custNames[i, c]);

                     continue;

                default:

                     break;

             }

            }

       default:

           break;

   } 

 }


慕桂英546537
浏览 154回答 1
1回答

拉丁的传说

“你能建议我另一种方式吗”当您有 { FirstName, LastName } 数据时,您应该考虑一个class Person { ... }而不是多维数组。但我假设你想在这里练习数组。我根本不明白为什么你需要一个开关,诀窍是GetLength(dimension):for (int i = 0; i < custNames.GetLength(0); i++){&nbsp; &nbsp;for (int j = 0; j < custNames.GetLength(1); j++)&nbsp; &nbsp;{&nbsp; &nbsp; &nbsp; &nbsp; Console.WriteLine("Array [{0},{1}] : Value : {2}", i, j, custNames[i, j]);&nbsp; &nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP