将C#Jagged数据编组到C ++

我正在尝试将2D C#锯齿状数组( double[][] jaggedArraydouble[][] jaggedArray到C ++ dll中,我已将接收变量指定为double**

但是,我收到的消息是:

嵌套数组没有编组支持。

如果没有扁平化锯齿状arrays,有没有办法在C ++ dll中使用C#中的锯齿状数组?

使用低级Marshal类方法,可以将任何类型编组为非托管内存。 例如,对于jaggedArray中的每个double []数组,使用Marshal.AllocHGlobal分配非托管内存块,并使用Marshal.Copy方法(Double [],Int32,IntPtr,Int32)方法将数组成员复制到它。 AllocHGlobal返回IntPtr类型,在这种情况下可以作为poiner传递给C ++方法,double *。