.net中的序列化与流

在.NET中,抽象基类System.IO.Stream代表流,MemoryStream对象的数据来自内存缓冲区,FileStream对象的数据来自文件。

 

 

除此以外,序列化-反序列化有两个要点。

 

1、BinaryFormatter的类定义,即,以二进制形式序列化-反序列化某对象(或与对象相关联的全部内容)。当然,还有个SoapFormatter,意义类似。

 

2、BinaryFormatter成员Serialize、Deserialize定义,序列化-反序列化到流。

      syntax--public void Serialize(Stream serializationStream,Object graph)

                    public Object Deserialize(Stream serializationStream) 

 

这三点理解,足够了。见下面的图:

 

sequencebits

注意这里-"marshal-by-value",取得对象副本."marshal-by-reference",访问原对象.

取舍在性能和一致性的权衡。

 

 

 

 

 

 

你可能感兴趣的:(.net)