zoukankan      html  css  js  c++  java
  • 相当于序列化与反序列化,但是不用借助外部文件

    1、struct转换为byte[]
    static   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);  
      }  
       
      }   
       2、byte[]转换为struct
      static   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);  
      }  
      }
  • 相关阅读:
    HDU 2196 Computer
    HDU 1520 Anniversary party
    POJ 1217 FOUR QUARTERS
    POJ 2184 Cow Exhibition
    HDU 2639 Bone Collector II
    POJ 3181 Dollar Dayz
    POJ 1787 Charlie's Change
    POJ 2063 Investment
    HDU 1114 Piggy-Bank
    Lca hdu 2874 Connections between cities
  • 原文地址:https://www.cnblogs.com/wangbin/p/1261872.html
Copyright © 2011-2022 走看看