C# 3 dimensional array
28,435
Solution 1
This might be simpler if you use an array-of-arrays, or jagged array [][][]
like
int[][][] buildingCost = new int[2][][];
Then you can access buildingCost[buildingId, 0]
which is an array of ints.
There is a related question here
EDIT
Be aware the "problem solved" you added to the question duplicates the data, so you may run out of memory if you keep doing this. Consider using a List of Lists of Lists and lazy evaluating what you need.
Solution 2
Try This
int[, ,] array3D = new int[3,3,3]
Author by
Admin
Updated on May 15, 2020Comments
-
Admin almost 4 years
I want to store ARRAY from 3 dimensional array into buildingCostIds, but it says I MUST have 3rd number.
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, *]; }
*I need third number here, but I don't want it because it will extract just number, I want whole array!
PROBLEM SOLVED, solution:
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; }