C#三维阵列
我想将三维数组中的数组存储到buildingCostIds中,但它说我必须有第三个数字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, *]; } *我需要第三个
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
关键字