知识点:理解序列化和反序列化的概念、掌握二进制序列化和反序列化的方法、掌握 XML 序列化和反序列化的方法。
1、序列化和反序列化概述
1.1 什么是序列化和反序列化
序列化(Serialization)是通过将对象转换为字节流,从而存储对象或将对象传输到内存,数据库或文件的过程。主要用途是保存对象的状态,包括对象的数据,以便能够在需要是重建对象。反向过程称为 反序列化(Deserialization)。序列化和反序列化都是操作整个对象,和对象属性的多少没有关系。
如上图所示,对象 object 被序列化为 流,其中不仅包含数据、还包含对象类型的相关信息,如版本、区域性和程序集名称。然后可以将此流中的内容存储到数据库、文件或内存中。
1.2 为什么要进行序列化和反序列化?
.Net程序执行时,对象都驻留在内存中;内存