吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

2012年2月12日

对象序列化(一):序列化概念与流

摘要: 对象的序列化主要解决的是对象状态的保存问题。这里所说的“对象状态”,其实就是指某一时刻对象所拥有的各个字段值的集合。序列化最主要的作用有:1、在进程下次启动时读取上次保存的对象的信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据......一、对象序列化的概念我们的程序运行在内存空间中,因此程序一关闭,这些对象也都会被CLR的垃圾回收机制销毁。程序第二次程序时,又重头来过。如果希望第二次运行程序时能“重现"第一次运行时的“场景”,即恢复第一次运行时各个对象的状态,应用程序就必须采用某种方法将对象各个字段的值保存到磁盘文件中,这样在需要时可以从磁盘文 阅读全文

posted @ 2012-02-12 23:42 _eagle 阅读(1966) 评论(0) 推荐(0) 编辑

对象的复制:浅复制与深复制和ICloneable接口

摘要: 所谓的“对象的复制” 即生成一个与指定对象“一模一样”的“同胞兄弟”。对于对象的复制,有浅复制与深复制两种情况。1、 浅复制:是指当对象的字段值被复制时,字段引用的对象不会被复制。例如,如果一个对象有一个指向字符串的字段,并且我们对该对象做了一个浅复制,那麽两个对象将引用同一个字符串。2、 深复制:是对对象事例中字段引用的对象也进行复制的一种方式。 例如,如果一个对象有一个指向字符串的字段,并且对该对象做了一个深复制的话.我门将创建一个新的对象和一个新的字符串.新对象将指向新字符串。3、.NET中默认的对象复制方式为浅复制,我们可以通过两种方式实现深复制。 A、类实现Icloneable接口。 阅读全文

posted @ 2012-02-12 23:12 _eagle 阅读(674) 评论(0) 推荐(0) 编辑