5

我想将 3 维数组中的 ARRAY 存储到 buildingCostIds 中,但它说我必须有第三个数字。

public static int[, ,] buildingCost = { {{0,1,2},{5,5,5}}};

public static void addBuilding(int[] ids, int[] amounts, int buildingId)
{
    int[] buildingCostIds = buildingCost[buildingId, 0, *];
}

*我在这里需要第三个数字,但我不想要它,因为它只会提取数字,我想要整个数组!

问题已解决,解决方案:

public static Array extractArray(int dim1, int dim2)
{
    int[] tempArray = { };

    for (int number=0;number<=2; number++)
    {
    tempArray[number] = buildingCost[dim1, dim2, number];
    }
    return tempArray;
}
4

2 回答 2

5

如果您使用数组数组或锯齿状数组,这可能会更[][][]简单

int[][][] buildingCost = new int[2][][];

然后你可以访问buildingCost[buildingId, 0]哪个是一个整数数组。

这里有一个相关的问题


编辑

请注意,您添加到问题中的“问题已解决”会重复数据,因此如果您继续这样做,您可能会耗尽内存。考虑使用 List of Lists 并懒惰地评估您需要的内容。

于 2013-07-27T09:22:50.423 回答
2

尝试这个

int[, ,] array3D = new int[3,3,3]

于 2013-07-27T09:23:18.017 回答