1. 程式人生 > >.NET 物件的序列化和反序列化

.NET 物件的序列化和反序列化

 DataSet ds = new DataSet();
            //給ds賦值(省略)
            byte[] b = this.Serialize(ds);
            DataSet d1 = this.DeSerialize(b) as DataSet;
            String s = "voodooer";
            byte[] b1 = this.Serialize(s);
            String s1 = this.DeSerialize(b1) as Stirng;


/// <summary>
        /// 序列化物件
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public byte[] Serialize(object obj)
        {
            MemoryStream ms = new MemoryStream();
            BinaryFormatter b = new BinaryFormatter();
            b.Serialize(ms, obj);
            return ms.ToArray();
        }
        /// <summary>
        /// 反序列化物件
        /// </summary>
        /// <param name="bt"></param>
        /// <returns></returns>
        public object DeSerialize(byte[] bt)
        {
            MemoryStream ms = new MemoryStream(bt);
            BinaryFormatter b = new BinaryFormatter();
            return b.Deserialize(ms);
        }