初步了解序列化

一提到序列化,也许你会开始迷惑了,它是什么意思呢?如果从这三个字本身,我们也许就要理解错了,序列化并不是排成序列的意思,它呢,类似于我们平时用的照相机,会将某个状态给记录下来,当我们想用的时候,就像照片一样,拿出来就行了。
   具体的定义这样的,序列化是将对象状态转换为可保持(保存)或传输的形式的过程。序列化的补集是反序列化,后者将转换为对象.这两个过程一起保证数据易于存储和传输。
 
.NET Framework提供了两个序列化技术:
1、二进制序列化
 
  二进制序列化保持类型保真,这对于多次调用应用程序时保持对象状态非常有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内存和网络等。远程处理使用序列化,“按值"在计算机或应用程序域之间传递对象。(游戏中画面的同步也就用到了序列化)
  
   二进制序列化是这么一个过程:它是将一个对象状态存储到存储介质的过程。在这个过程中,对象的公共字段和私有字段以及类(包括含有该类的程序集)的名称,将转换成字节流,而字节流接着将写入数据流。这样就完成了序列化了。 当你需要这张”照片“时,那么,我们就可以通过反序列化来取。这时,会得到原始对象的准确克隆。
 
  二进制序列化需要的命名空间
  using System.Runtime.Serialization;
  using System.Runtime.Serialization.Formatters.Binary;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/tech-bird/p/3768278.html