序列化使用心得

本文介绍了序列化的两种主要形式:浅层序列化(如XmlSerialization)和深层序列化(如BinaryFormatter和SoapFormatter)。浅层序列化主要处理对象的公共字段和属性,并将其转换为XML流。而深层序列化则不仅包括公共字段还涉及私有字段,同时也会记录类名等信息,最终转换为字节流。

序列化分类:

(一)浅层序列化
XmlSerialization,是将对象的公共字段和属性或者方法的参数和返回值转换(序列化)为符合特定XML 架构定义语言(XSD) 文档的XML 流。
(二)深层序列化
BinaryFormatter和SoapFormatter,是将对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。

序列化图解:


浅层序列化:拷贝属性值到一个字节流的过程



深层序列化:拷贝对象数据到一个字节流的过程
None.gif示例代码:
None.gifds.RemotingFormat 
= SerializationFormat.Binary;//序列化为二进制
None.gif
BinaryFormatter bf = new BinaryFormatter ();
None.gifStreamWriter swDat 
= new StreamWriter ("output_dataset.dat");
None.gifbf.Serialize(swDat.BaseStream, ds);
None.gifswDat.Close();

转载于:https://www.cnblogs.com/support/archive/2006/11/07/552615.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值