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());
             
            }
    }
总是出错,请您帮我改改,我错哪了??
在线,明白后立即给分.

解决方案 »

  1.   

    for (int i = 0; i < one.Rank; i++)
       {
              for (int j = 0; j < array3d.GetLongLength(i); j++)
                {
                  
                       Response.Write("<br>" + one[i, j].ToString());
                 
                }
        }
    我写它的目地是,历遍这个数组,但不用foreach方法.必须用for方法
      

  2.   

    one时二维数组,two是一维数组
      

  3.   

    @cy3922(初学者)
    two怎么是二维的呢?难道int[3,4]不等于int[3][4]
      

  4.   

    two是一维数组???那什么会是[,]??它是一维的什么数组???
      

  5.   

    两个数组都是二维数组,
    one 第一维上限为3,第二维上限为2
    tow 第一维上限为3,第二维上限为4-----------------------------
    请先把array3d的定义发上来!
      

  6.   

    错了!
    我上面的上限全部要减1!
    不好意思!
    ------------------------------
    two[,]和two[][]是不一样的,
    前者为二维数组,后者为交错数组!!!
      

  7.   

    二维如果是用行与列来形容,int[,]又拿什么比喻呢???
      

  8.   

    wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴) 
    什么是上限??为什么要减一??int[,] array3d= {{1,6},{3,5},{12,14}};
      

  9.   

    int[,] one       int[,] two  着两个完全一样都是2维,就好比  int a;int b 都是整数,你后边写的有问题
      

  10.   

    int[,] array3d= {{1,6},{3,5},{12,14}};
    是一个3行2列的数组。数组的下限为0,所以要减1。
      

  11.   

    donglizhong(立忠) 是有问题?我就是不知道问题在哪??
      

  12.   

    @wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴)数组的下限为0,所以要减1。???我晕了,请您先说什么是维度?再说说维度的上限是什么有什么实际作用?如果有资料地址请提供一个(C#的)
      

  13.   

    for (int i = 0; i < one.GetLength(0); i++)
       {
              for (int j = 0; j < array3d.GetLength(1); j++)
                {
                  
                       Response.Write("<br>" + one[i, j].ToString());
                 
                }
        }
      

  14.   

    simiwo() ( ) 信誉:100    Blog   加为好友  2007-07-02 17:25:45  得分: 0  
     
     
       @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
      

  15.   

    @wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴) 我说的例子是二维数组,也就可以比喻成行与列了是吗你的方法是先循环行,再循环列是不,哪 什么出错总是提示"超出范围"
      

  16.   

    GetUpperBound 方法不就是求指定维度的上限的吗???
      

  17.   

    全部代码,就是
     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());
               }
           }
      

  18.   

    int[,] two= int[3,4];
    这是什么
      

  19.   

    int[, ,] array3d = { { {1,2,3 } }, { {11,22,33 } }, { {111,222,333 } } }; for (int i = 0; i < array3d.GetLength(0); i++)
            {
                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());
               }
           }
    --------------------------------------------------------------
    这样就好了!
      

  20.   

    真是热火朝天,我也来乱乱
    数组有一个“秩”。数组的秩又称为数组的维度。“秩”为 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了,基础才难呢,万丈高楼平地起吗
      

  21.   

    现在才有点明白了,谢谢wzd24与octverve(炎之脉),以后打算买本书好好看看.结贴,我累啊.
      

  22.   

    string [,] str;
    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";......
      

  23.   

    one 上限应该是 2 ,1 吧 
    two 没有被初始化 
    都是2维 数组
      

  24.   

    上限的问题怎么还会不明白呢?数组的下标都是从0开始的,当你有三个数据的时候,你的length=3,但是你的下标范围是0 , 1 , 2 这三个值,当然要减1了。
    至于数组的维度,反正人现在能直观理解的只有三维,用魔方来比划一下,比如你定义了一个三维的, 其中第一个维度a[0,*,*]表示一个魔方(假设现在魔方是一个正方体而已),那第二个维度a[0,0,*]就是从你的魔方的一个面上将魔方该面切割成了N个小正方形的侧面效果;第三维a[0,0,0]就是将该魔方的各个侧面都想上个侧面一样切割了(就像且豆腐一样,形成了N个小正方体),这时候就是一个魔方的形态了,这就是世界最普遍的三维空间。也就是数组的3维的一个现实解释。由于再多的维数不能直观从世界上找到,所以,就说道三维。
    以上十本人的个人理解,为的是把抽象概念直观具体化,偏颇之处多多包含。