[英]C# 3 dimensional array
我想將ARRAY從3維數組存儲到buildingCostIds中,但它說我必須有第3個數字。
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]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.