C#三维数组
本文关键字:数组 三维 | 更新日期: 2023-09-27 18:25:12
我想将三维数组中的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;
}
如果使用数组数组或类似的锯齿状数组[][][]
,这可能会更简单
int[][][] buildingCost = new int[2][][];
然后您可以访问buildingCost[buildingId, 0]
,它是一个int数组。
这里有一个相关的问题
编辑
请注意,您添加到问题中的"已解决问题"会重复数据,因此如果您继续这样做,可能会耗尽内存。考虑使用列表列表,并懒惰地评估您需要的内容。
试试这个
int[, ,] array3D = new int[3,3,3]