我如何GetLength()的三维数组?

时间:2014-11-01 10:48:28

标签: c# arrays multidimensional-array

当我尝试这个时:

float[, ,] arrays = new float[,,] { 
    { 
        { 1, 2, 3 },
        { 4, 5, 6 }         
    }

    {
        { 7, 8, 9 },
        { 10, 11, 12 },
        { 13, 14, 15 }  
    }       
};

void Start() {

    print(arrays[0].GetLength);

}

我明白了:'System.Single'不包含'GetLength'的定义

我想知道,有多少行有数组[0]或数组[1]等。

我不想要使用列表。

编辑: 我现在有了。

http://msdn.microsoft.com/en-us/library/2s05feca.aspx

int[][,] jaggedArray4 = new int[3][,] 
{
    new int[,] { {1,3}, {5,7} },
    new int[,] { {0,2}, {4,6}, {8,10} },
    new int[,] { {11,22}, {99,88}, {0,9} } 
};

2 个答案:

答案 0 :(得分:2)

您可以使用GetLength方法并指定要获取长度的维度:

arrays.GetLength(0);

或者如果你想得到第二个维度的长度:

arrays.GetLength(1)

依旧......

答案 1 :(得分:0)

arrays[0]是一个无效的表达式,因为您缺少两个索引。在错误消息中,编译器似乎将此表达式视为float。你不能在float上调用数组方法。那个错误似乎来自哪里。更正索引表达式并在array上调用数组方法。

也许你混淆了多维数组和锯齿状数组。锯齿状数组包含本身就是对象的子数组。