mat*_*vic 5 c# arrays multidimensional-array
我想将 ARRAY 从 3 维数组存储到 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, *];
}
Run Code Online (Sandbox Code Playgroud)
*我在这里需要第三个数字,但我不想要它,因为它只会提取数字,我想要整个数组!
问题已解决,解决方法:
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;
}
Run Code Online (Sandbox Code Playgroud)
如果您使用的阵列的阵列,或锯齿状排列,这可能是简单的[][][]
像
int[][][] buildingCost = new int[2][][];
Run Code Online (Sandbox Code Playgroud)
然后你可以访问buildingCost[buildingId, 0]
这是一个整数数组。
有一个相关的问题here
编辑
请注意,您添加到问题中的“已解决的问题”会复制数据,因此如果您继续这样做,您可能会耗尽内存。考虑使用列表列表并懒惰地评估您需要的内容。