字节转化为结构体BytesToStruct

来源:互联网 发布:淘宝代运营收费标准 编辑:程序博客网 时间:2024/06/03 12:04
//结构体转字节数组public byte[] StructToBytes (object structObj){int size = Marshal.SizeOf (structObj);//获取结构体的大小IntPtr buffer = Marshal.AllocHGlobal (size);//分配内存try {Marshal.StructureToPtr (structObj, buffer, false);//将数据从托管对象封装到非托管内容并不销毁旧物体byte[] bytes = new byte[size];Marshal.Copy (buffer, bytes, 0, size);//将数据从非托管内存复制到数组内return   bytes;} finally {Marshal.FreeHGlobal (buffer);//释放内存}}//字节转结构体public object BytesToStruct (byte[] bytes, Type   strcutType){int size = Marshal.SizeOf (strcutType);IntPtr buffer = Marshal.AllocHGlobal (size);try {Marshal.Copy (bytes, 0, buffer, size);return  Marshal.PtrToStructure (buffer, strcutType);} finally {Marshal.FreeHGlobal (buffer);}   }

2 0
原创粉丝点击