序列化:
保存对象的 "全景图"
序列化是将对象转换为可保存或可传输的格式的过程
三种:
二进制序列器:
对象序列化之后是二进制形式的,通过 BinaryFormatter 类来实现的,这个类位于 System.Runtime.Serialization.Formatters.Binary 命名空间下
[Serializable] // 使对象可序列化 (必须添加)
特性
程序集,类,方法,属性都可以使用特性
Java 中注解 <==> C# 特性
BinaryFormatter // 创建二进制序列化器
Serialize(Stream(流),object(序列化对象))
流:可以理解成打通内存和硬盘的一个工具
输入流:从硬盘到内存
输出流:从内存到硬盘
XML 序列化器:
对象序列化之后的结果符合 SOAP 协议,也就是可以通过 SOAP? 协议传输,通过 System.Runtime.Serialization.Formatters.Soap 命名空间下的 SoapFormatter 类来实现的.
SOAP 序列化器:
对象序列化之后的结果是 XML 形式的,通过 XmlSerializer? 类来实现的,这个类位于 System.Xml.Serialization 命名空间下.XML 序列化不能序列化私有数据.
反序列化:
将流转换为对象
Disk(硬盘)--->Cache(内存)
BinaryFormatter // 创建二进制序列化器
Deserialize(Stream(流))// 返回 object 类型
项目实例:
来源: http://www.bubuko.com/infodetail-2479304.html