序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,就使得数据能够被轻松地存储和传输。
序列化简单点来理解就是把内存的东西写到硬盘中,当然也可以写到内存中(这个内容我会在后面写一个例子).而反序列化就是从硬盘中把信息读到内存中.就这么简单,呵呵
序列化和反序列化用于将一个对象保存到文件,从文件读取:
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();   
  }
   
    
  }
posted on 2009-05-30 22:34  钱途无梁  阅读(244)  评论(0编辑  收藏  举报