日期:2014-05-18  浏览次数:20526 次

Byte[] 类型 怎么转化成 IntPtr
如题 Byte[] 类型 怎么转化成 IntPtr类型

------解决方案--------------------
C# code

using System.Runtime.InteropServices;

byte[] test = new byte[5];
GCHandle hObject = GCHandle.Alloc(test, GCHandleType.Pinned);
IntPtr pObject = hObject.AddrOfPinnedObject();

if(hObject.IsAllocated)
    hObject.Free();

------解决方案--------------------
探讨

网摘

C# code

第一种,使用不安全的代码块来访问直接指向字节数组的指针。
unsafe
{
byte[] test = new byte[5];
fixed (byte* p = &test[0])
{
*p = 0xff;
}
}

第二种,可以使用 GCHandle 来获得对象。
GCHandle
using Syste……