我需要遍历任意等级的数组。这既适用于阅读又适用于写作,因此GetEnumerator
不起作用。
Array.SetValue(object, int)
不适用于多维数组。
Array.SetValue(object, params int[])
将需要过多的算术来遍历多维空间。它还需要动态调用来绕过params
签名的一部分。
我很想固定数组并用指针对其进行迭代,但我找不到任何说明多维数组保证是连续的文档。如果他们在维度的末尾有填充,那么这将不起作用。我也希望避免不安全的代码。
有没有一种简单的方法可以只使用一个索引来顺序寻址多维数组?