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();
}