Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#三维阵列_C#_Arrays_Multidimensional Array - Fatal编程技术网

C#三维阵列

C#三维阵列,c#,arrays,multidimensional-array,C#,Arrays,Multidimensional 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, *]; } *我需要第三个

我想将三维数组中的数组存储到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;
}
公共静态数组extractArray(int dim1,int dim2)
{
int[]tempArray={};

对于(int number=0;number,如果使用数组数组或锯齿数组,这可能会更简单

int[][][] buildingCost = new int[2][][];
然后您可以访问
buildingCost[buildingId,0]
,这是一个整数数组

有一个相关的问题


编辑

请注意,添加到问题中的“问题已解决”与数据重复,因此如果继续这样做,可能会耗尽内存。 考虑使用列表列表,并懒惰地评估你需要什么。

试试这个


<代码> int [3]=new int [3,3,3] < /代码> < /p>为什么这个问题说C++和标签表示C?哇,第一次Heleo担心-很好地修复了IIF发现了一个解决方案,请标记适当的答案作为接受。(即使这意味着自己在解决方案中添加一个答案并将其标记为已接受。不,我有很多数据,我懒得这样写。找到了一个解决方案!我会发布它!这对访问最后一列有何帮助?lol Stack Overflow将其呈现为

try
this
关键字