序列化和反序列化

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,就使得数据能够被轻松地存储和传输。
序列化简单点来理解就是把内存的东西写到硬盘中,当然也可以写到内存中(这个内容我会在后面写一个例子).而反序列化就是从硬盘中把信息读到内存中.就这么简单,呵呵
序列化和反序列化用于将一个对象保存到文件,从文件读取:
using   System.IO;   
  
using   System.Runtime.Serialization.Formatters.Binary;   
  [Serializable()]
//可以序列化的类需要用这个属性标记   
  public   class   ToBeSerialized   
  
{   
  
public   int   a;   
  
public   string   b;   
  
public   ToBeSerialized(int   a,string   b)   
  
{   
  
this.a=a;   
  
this.b=b;   
  }
   
  }
   
  
public   class   Test   
  
{   
    
  
public   void   Serialize()//序列化   
  {   
  ToBeSerialized   tbs 
= new   ToBeSerialized(22,"SOM");   
  Stream   fs   
=   File.Create("Serialized.txt");   
  BinaryFormatter   serializer   
=   new   BinaryFormatter();   
  serializer.Serialize(fs,   tbs);   
  fs.Close();   
  }
   
  
public   void   DeSerialize()//反序列化   
  {   
  ToBeSerialized   restore;   
  Stream   fs   
=   File.OpenRead("Serialized.txt");   
  BinaryFormatter   deserializer   
=   new   BinaryFormatter();   
  restore   
=   (ToBeSerialized)(deserializer.Deserialize(fs));//反序列化得到的对象   
  fs.Close();   
  }
   
    
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值