我是这样分的数组
二维:string[,]strArr=new string[1//一行,2//两列]三维:string[,]strArr=new string[1//一行,3//三列]
而且我的数组都是动态添加内容的
int intcount=0
while(dr.Read())
{
strarr[intcount//行数,0//列数]=dr["a"].tostring()
strarr[intcount,1]=dr["b"].tostring()
intcount+=1
}
以上两种都是没有问题的。今天我上MSDN  它的上面说的
二维是:string[,]strarr=new string[,]
三维是:string [,,]strarr=new string[,,]
当我试着用MSDN上面说的这样就不能动态的添加内容了,老是出错,为什么???
==================================不知道我的那二维跟三维数组的声明跟MSDN上的有什么不一样

解决方案 »

  1.   

    用矩阵数组的话,元素个数是需要提前声明的.
    要是处理比较复杂的话
    可以考虑用List<>的交错数组(List<List<string>>)
      

  2.   

    楼主写的数组都是二维的,你在数组的定义的理解上出了问题。一维数组可以看作是一行数据,比如:1,2,3,4....二位数组可以看作是一个表格,比如:111,222,333
    aaa,bbb,ccc
    www,xxx,yyy
    三维数组就要看作是个立方体了。楼主写的一行三列,是人都会明白,仍然是个表格而已。
      

  3.   

    1楼的说了,LZ定义的数组都是2维的。
    另,LZ注释应该用/*...*/,而不是//...,因为//...作用域至到行末。
    strarr[intcount/*行数*/,0/*列数*/]=dr["a"].tostring() 
      

  4.   

    // 另:注意ToString()的大小写,以及行末的分号:
    strarr[intcount/*行数*/,0/*列数*/]=dr["a"].ToString();