簡體   English   中英

C#3維數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM