c#对象序列化

        
    public class SerializeConvert
    {
        public byte[] SerializeObject(object pObj)
        {
            if (pObj == null)
                return null;
       
            System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
            
            BinaryFormatter formatter = new BinaryFormatter();
            
            formatter.Serialize(memoryStream, pObj);
            
            memoryStream.Position = 0; 
            
            byte[] read = new byte[memoryStream.Length];
            
            memoryStream.Read(read, 0, read.Length);
            
            memoryStream.Close();
            
            return read; 
        }

        public object DeserializeObject(byte[] pBytes)
        {
            object newOjb = null; 
            
            if (pBytes == null)
            
                return newOjb;

            System.IO.MemoryStream memoryStream = new System.IO.MemoryStream(pBytes);
            
            memoryStream.Position = 0;
            
            BinaryFormatter formatter = new BinaryFormatter();
            
            newOjb = formatter.Deserialize(memoryStream);
            
            memoryStream.Close();
            
            return newOjb;
        }
    }

序列化是将对象处理为字节流以存储对象或传输到内存、数据库或文件。 其主要目的是保存对象的状态,以便可以在需要时重新创建对象。 相反的过程称为反序列化。

你可能感兴趣的:(c#对象序列化)