我有一个具有不同维度的通用多维数组。我需要循环遍历它,以便为每个元素保存索引的相对数组和相对值。
对于二维数组(假设为 4 和 5),这将是微不足道的:
var d1 = 4;
var d2 = 5;
var array = Array.CreateInstance(typeof (int), new[] {d1, d2});
//...
// code for populating array
//...
for (int i = 0; i < d1; i++)
{
for (int j = 0; j < d2; j++)
{
var value = array.GetValue(new[] { i, j });
var indices = new[] {i, j};
}
}
Run Code Online (Sandbox Code Playgroud)
但我需要对 n 个不同维度的数组做同样的事情。我怎样才能实现它?我需要实现递归函数吗?