int[,] one = {{1,6},{3,5},{12,14}};int[,] two= int[3,4];请问one中什么维数,上限上什么?
请问two中什么维数,上限上什么?我试着写了以下
for (int i = 0; i < one.Rank; i++)
{
for (int j = 0; j < array3d.GetLongLength(i); j++)
{
Response.Write("<br>" + one[i, j].ToString());
}
}
总是出错,请您帮我改改,我错哪了??
在线,明白后立即给分.
请问two中什么维数,上限上什么?我试着写了以下
for (int i = 0; i < one.Rank; i++)
{
for (int j = 0; j < array3d.GetLongLength(i); j++)
{
Response.Write("<br>" + one[i, j].ToString());
}
}
总是出错,请您帮我改改,我错哪了??
在线,明白后立即给分.
{
for (int j = 0; j < array3d.GetLongLength(i); j++)
{
Response.Write("<br>" + one[i, j].ToString());
}
}
我写它的目地是,历遍这个数组,但不用foreach方法.必须用for方法
two怎么是二维的呢?难道int[3,4]不等于int[3][4]
one 第一维上限为3,第二维上限为2
tow 第一维上限为3,第二维上限为4-----------------------------
请先把array3d的定义发上来!
我上面的上限全部要减1!
不好意思!
------------------------------
two[,]和two[][]是不一样的,
前者为二维数组,后者为交错数组!!!
什么是上限??为什么要减一??int[,] array3d= {{1,6},{3,5},{12,14}};
是一个3行2列的数组。数组的下限为0,所以要减1。
{
for (int j = 0; j < array3d.GetLength(1); j++)
{
Response.Write("<br>" + one[i, j].ToString());
}
}
@wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴)数组的下限为0,所以要减1。???我晕了,请您先说什么是维度?再说说维度的上限是什么有什么实际作用?如果有资料地址请提供一个(C#的)
-------------------------------------------------------------------------------
没有什么维度的上限这样的说法,只有每一个维度的上限这样的说法。至于什么是维度你可以参考中学几何。MSDN有这些的详细说明:
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/020ce02e-7dff-4273-8e53-bf0b33747232.htm
int[, ,] array3d = { { {1,2,3 } }, { {11,22,33 } }, { {111,222,333 } } }; for (int i = 0; i < array3d.Rank; i++)
{
for (int j = 0; j < array3d.GetLongLength(i); j++)
{
for (int k = 0; k < array3d.GetLongLength(array3d.Rank - 1); k++)
{
Response.Write("<br>" + array3d[i, j, k].ToString());
}
}
这是什么
{
for (int j = 0; j < array3d.GetLength(1); j++)
{
for (int k = 0; k < array3d.GetLength(2); k++)
{
Response.Write("<br>" + array3d[i, j, k].ToString());
}
}
--------------------------------------------------------------
这样就好了!
数组有一个“秩”。数组的秩又称为数组的维度。“秩”为 1 的数组称为一维数组。“秩”大于 1 的数组称为多维数组。现在明白什么是维了吧.int[,]是多维数组,int[][]是数组的数组(交错数组)
至于你的代码int[, ,] array3d = { { {1,2,3 } }, { {11,22,33 } }, { {111,222,333 } } };for(int i=array3d.GetLowerBound(0);i<=array3d.GetUpperBound(0);i++)
{
for(int j=array3d.GetLowerBound(1);j<=array3d.GetUpperBound(1);j++)
{
for(int k=array3d.GetLowerBound(2);k<=array3d.GetUpperBound(2);k++)
{
Console.WriteLine("number[{0},{1},{2}]={3}",i,j,k,array3d[i,j,k]);
}
}
}
就这么简单,就ok了,基础才难呢,万丈高楼平地起吗
str[0,0]---str[0,4]
str[5,5]---str[5,5]表示5 组 1唯数组,每组5个输,也就是 25个变量
str[0,0]="aaa";
str[0,1]="bbb";
str[0,2]="ccc";
str[0,3]="ddd";
str[0,4]="eee";
str[1,0]="AAA";
str[1,1]="BBB";
str[1,2]="CCC";
str[1,3]="DDD";
str[1,4]="FFF";......
two 没有被初始化
都是2维 数组
至于数组的维度,反正人现在能直观理解的只有三维,用魔方来比划一下,比如你定义了一个三维的, 其中第一个维度a[0,*,*]表示一个魔方(假设现在魔方是一个正方体而已),那第二个维度a[0,0,*]就是从你的魔方的一个面上将魔方该面切割成了N个小正方形的侧面效果;第三维a[0,0,0]就是将该魔方的各个侧面都想上个侧面一样切割了(就像且豆腐一样,形成了N个小正方体),这时候就是一个魔方的形态了,这就是世界最普遍的三维空间。也就是数组的3维的一个现实解释。由于再多的维数不能直观从世界上找到,所以,就说道三维。
以上十本人的个人理解,为的是把抽象概念直观具体化,偏颇之处多多包含。