期望长度为2的阵列初始化器

时间:2016-04-16 18:33:17

标签: c# arrays multidimensional-array

我试图让人工智能学习和功能,但是这个3d数组还没有用完

      int[, ,] inputs =
         {
            { { 0, 0 }, {0} },
            { { 0, 1 }, { 0 } },
            { { 1, 0 }, { 0 } },
            { { 1, 1 }, { 1 } }

        };

2 个答案:

答案 0 :(得分:3)

你已经宣布了一个矩形阵列 - 虽然我认为"长方体"在这种情况下,数组会更合适。但你必须制作每个"子阵列"初始化器的长度相同。要继续几何比喻,每列必须具有相同的长度 - 但是你有一些长度为2而一些长度为1。

所以这将编译,例如:

SELECT

现在是4 x 2 x 2阵列。

如果你想拥有每个"最终的子阵列"能够是一个不同的长度,你可以有一个矩阵的一维数组:

int[, ,] inputs =
{
    { { 0, 0 }, { 0, 0 } },
    { { 0, 1 }, { 0, 0 } },
    { { 1, 0 }, { 0, 0 } },
    { { 1, 1 }, { 1, 0 } }

};

答案 1 :(得分:-1)

int[, ,] inputs = new int[sizeX, sizeY, sizeZ];
for(int x = 0; x < inputs.GetLength(0); x++)
{
    for(int y = 0; y < inputs.GetLength(1); y++)
    {
        for(int z = 0; z < inputs.GetLength(2); z++)
        {
            int element = inputs[x, y, z];
        }
    }
}