不确定是否要将IntPtr放入数组,但是可以使用Mashal.Copy复制数据以供非托管代码使用:
IntPtr unmanagedPointer = Marshal.AllocHGlobal(bytes.Length);Marshal.Copy(bytes, 0, unmanagedPointer, bytes.Length);// Call unmanaged preMarshal.FreeHGlobal(unmanagedPointer);
另外,您可以声明具有一个属性的结构,然后使用Marshal.PtrToStructure,但这仍然需要分配非托管内存。
编辑: 另外,正如Tyalis指出的,如果不安全的代码是您的选择,那么您也可以使用 固定的 代码


![如何从C#中的byte []获取IntPtr 如何从C#中的byte []获取IntPtr](http://www.mshxw.com/aiimages/31/506823.png)
