首页 > 代码库 > C#序列化与反序列化

C#序列化与反序列化

一、概念

     把对象转化为字节序列的过程称为序列化

     把字节序列恢复为对象的过程称为反序列化

 

序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。    

.NET框架提供了两种串行化的方式:

1、是使用BinaryFormatter进行串行化;

2、使用SoapFormatter进行串行化;

3、使用XmlSerializer进行串行化。

第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储;第三种其实和第二种差不多也是XML的格式存储,只不过比第二种的XML格式要简化很多(去掉了SOAP特有的额外信息)。    

可以使用[Serializable]属性将类标志为可序列化的。如果某个类的元素不想被序列化,1、2可以使用[NonSerialized]属性来标志,2、可以使用[XmlIgnore]来标志。

 

http://jingyan.baidu.com/article/a681b0dec765473b184346d9.html