• C#将 byte[ ] 转换为对应的struct


    using System.Runtime.InteropServices; //WinAPI引用命名空间
     
     
            /// <summary>
            /// 将Byte转换为结构体类型
            /// </summary>
            /// <param name="bytes"></param>
            /// <param name="type"></param>
            /// <returns></returns>
            public static object ByteToStruct(byte[] bytes, Type type)
            {
                int size = Marshal.SizeOf(type);
                if (size > bytes.Length)
                {
                    return null;
                }
                //分配结构体内存空间
                IntPtr structPtr = Marshal.AllocHGlobal(size);
                //将byte数组拷贝到分配好的内存空间
                Marshal.Copy(bytes, 0, structPtr, size);
                //将内存空间转换为目标结构体
                object obj = Marshal.PtrToStructure(structPtr, type);
                //释放内存空间
                Marshal.FreeHGlobal(structPtr);
                return obj;
            }
  • 相关阅读:
    精品绿色便携软件下载站
    DIV + CSS
    CSS基础
    尘封往事
    最近ゲームにはまってる。
    比水更浓的水
    有些事我得记下来
    一年前的今晚,注定是个岔路口.
    放下全世界
    超级保镖:国外精品个人防火墙亲密接触(2) java程序员
  • 原文地址:https://www.cnblogs.com/dj1232090/p/14606713.html
Copyright © 2020-2023  润新知