粪发涂墙

 

C#中使用二维数组时,报错:内索引数错误

  
今天又用到了二维数组,好久没用了,感觉都生疏了,只好凭着印象来了...
        
程序写完,拿鼠标往上一移...嗯,不错不错,有提示,应该没什么问题吧...GO ON
       
全部写完,一编译...我晕,提示错误:[]内索引数错误,应为2???不会吧,这是怎么回事?没见过...
       
上网一查,才发现了原来错在一个很明显、但是又不容易被发现的地方,所以现在贴出来给大家借鉴一下,如果你

也有类似错误,大家共勉;如果你觉得这个错误太低级的话,看看就算了,千万不要留言羞辱.谢谢合作...

//定义数组

string[,] classes = new string[5, 2];

//正确的使用方法

classes[i, 0] = "";

//错误的使用方法

classes[i][0]="";

据说这种形式的数组叫做锯齿数组,不过我本人暂时没有使用过,也不怎么了解,所以从网络上抓了一段例子以供参考:

// 声明一个锯齿型数组,该数组有两个元素
      int[][] myArray = new int[2][];

      // 其中第一个元素是一个含有五个元素的数组
      // 初始化myArray[0]
      myArray[0] = new int[5] {1,3,5,7,9};

      
      // 其中第二个元素是一个含有4个元素的数组
      // 初始化myArray[1]
      myArray[1] = new int[4] {0, 2, 4, 6};

      // 逐一打印出数组的数组中所有的元素
      for (int i=0; i < myArray.Length; i++)
      {
          Console.Write("第({0})个数组: ", i);

          // 打印一维数组中的元素
          for (int j=0; j < myArray[i].Length; j++)
          {
              Console.Write("{0} ", myArray[i][j]);
          }

          Console.WriteLine();
      }

posted on 2007-04-17 19:49  野猪&翔帅  阅读(2603)  评论(1编辑  收藏  举报

导航