我有一个指向整数(未知等级)的多维指针数组被传递到我的函数中:
public unsafe static void MyMethod(Array source, ...)
{
//...
}
指针的多维数组在方法之外被构造并被传入。下面是一个例子:
int*[,,,] testArray = new int*[10,10,5,5];
MyMethod(testArray);
如何在数组中运行时计算的索引处设置值?Array.SetValue(...) 适用于非指针数组,但拒绝适用于我的 int* 数组。使用反射器,我看到 SetValue 减少到调用 InternalSetValue ,它接受一个对象作为值,但它被标记为 extern 并且我看不到实现。我在黑暗中开了一枪,并尝试传递盒装指针,但没有运气。