获取和设置大型多维数组的特定部分的值

时间:2013-06-19 17:47:13

标签: c# arrays multidimensional-array

说,我有一个数组FooArray,它由包含数组数组的数组组成。

然后我有另一个变量D,定义我想要查看的数组的深度。

最后我有另一个整数数组nArray,它确定每个深度中的哪个数组应该进一步挖掘。

(至少,这是我试图接近这个的方式)

现在我的问题是,如何在FooArray中获取/设置深度为D的数组的任何索引?例如,数组可能如下所示:

[FooArray]
 -- [Array]
     -- [Array]
         -- [Array]
         -- [Array]
     -- [Array] <--- With D = 1 and nArray = {0,1,...}, I'd want this array.
         -- [Array]
         -- [Array]
 -- [Array]
     -- [Array]
         -- [Array]
         -- [Array]
     -- [Array]
         -- [Array]
         -- [Array]

可能有办法做到这一点,但是怎么做?

提前致谢!

1 个答案:

答案 0 :(得分:0)

或许你最好使用multidimensional array

int[, ,] a = new int[2, 2, 3]{
        { {1,2,3}, {4,5,6} },
        { {7,8,9}, {10,11,12}  }
};
int x = (int)a.GetValue(0,1,2); // this returns 6

int[] nArray = new int[] { 1, 1, 0 };
x = (int)a.GetValue(nArray); // this returns 10