ASP.NET(C#)三维数组的问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 17:17:38
我是这样分的数组
二维: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上的有什么不一样

你的三维,其实还是个二维的矩阵,只有x,y两个维度。就好像一个平面。
用strArr[x,y]就可以定位到矩阵中的任何一个元素。
遍历二维的矩阵一般需要两层循环,但由于楼主你的一个维度是1,所以只用了一层循环。

而标准的三维,是有三个维度的,就好像一个立方体。
需要用strArr[x,y,z]才能定外到矩阵中的元素。
所以,如果你要遍历的话,需要三个嵌套的循环。另外,如果你的dr是从数据表中读取的信息的话,由于数据表是二维结构,你不可能用一张数据表去覆盖一个三维矩阵。
一个简单的覆盖三维矩阵的例子是:
for(int i=0;i<x;i++)
{
for(int j=0;j<y;j++)
{
for(int k=0;k<z;k++)
{
strArr[i,j,k] = i+j+k;
}
}
}