Tag: fixed

修复了带锯齿数组的语句

我有锯齿状的数组,我需要传递给外部方法。 [DllImport(…)] private static extern int NativeMethod(IntPtr[] ptrArray); … fixed (ulong* ptr = array[0]) { for (int i = 0; i < array.Length; i++) { fixed (ulong* p = &array[i][0]) { ptrArray[i] = new IntPtr(p); } } NativeMethod(ptrArray); } 问题是ptr未使用,因编译而被删除。 根据它的固定声明也被删除。 所以数组被GC移动,使得ptrArray元素变为无效。 将锯齿状数组作为指向本机方法的指针的一维数组传递的最佳方法是什么? 更新: 这是NativeMethod的C ++代码: NativeClass::NativeMethod(const int* array)