收藏 分销(赏)

C#中序列化及反序列化.doc

上传人:仙人****88 文档编号:7172762 上传时间:2024-12-27 格式:DOC 页数:3 大小:20.52KB 下载积分:10 金币
下载 相关 举报
C#中序列化及反序列化.doc_第1页
第1页 / 共3页
C#中序列化及反序列化.doc_第2页
第2页 / 共3页


点击查看更多>>
资源描述
什么是序列化与反序列化??? 序列化和反序列化,我们可能经常会听到,其实通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。 序列化和反序列化的主要作用有:   1、在进程下次启动时读取上次保存的对象的信息   2、在不同的AppDomain或进程之间传递数据   3、在分布式应用系统中传递数据   ............. 常见的序列化的方法:   1、BinaryFormatter   2、SoapFormatter   3、XML序列化 用法:   BinaryFormatter的用法大致如下:   //BinaryFormatter将对象序列化到文件中 List<string> inputList = new List<string>() { "潮流时尚公子","","欢迎专注技术的程序袁来看看笔者的网店哦"}; using (FileStream fsWriter = new FileStream(@"gz168168.tmp",FileMode.Create,FileAccess.Write)) { BinaryFormatter bf = new BinaryFormatter(); //序列化 bf.Serialize(fsWriter, inputList); } //BinaryFormatter将文件中的数据反序列化出来 List<string> outputList = new List<string>(); using (FileStream fsReader = new FileStream(@"gz168168.tmp",FileMode.Open,FileAccess.Read)) { BinaryFormatter bf = new BinaryFormatter(); //反序列化 outputList = (List<string>)bf.Deserialize(fsReader); }   XML序列化的用法大致如下:  //xml序列化到test.xml文件中 List<string> inputList = new List<string>() { "潮流时尚公子",""}; using (FileStream fsWriter = new FileStream(@"test.xml",FileMode.Create,FileAccess.Write)) { XmlSerializer xs = new XmlSerializer(typeof(List<string>)); xs.Serialize(fsWriter, inputList); } //从test.xml文件中反序列化出来 List<string> outputList = new List<string>(); using (FileStream fsReader = new FileStream(@"test.xml",FileMode.Open,FileAccess.Read)) { XmlSerializer xs = new XmlSerializer(typeof(List<string>)); outputList = xs.Deserialize(fsReader) as List<string>; } 总结:   两个的用法大致如下:   序列化:   1.得到一个存储对象的类型   2.创建一个写入文件流   3.定义要序列化的类型   4.调用序列化方法   反序列化:   1.定义一个装载对象的类型   2.创建一个读出文件流   3.定义要反序列化的类型   4.调用反序列化方法   BinaryFormatter类进行序列化和反序列化,以缩略型二进制格式写到一个文件中去,速度比较快,而且写入后的文件已二进制保存有一定的保密效果。标记为NonSerialized的其他所有成员都能序列化。   采用xml序列化的方式只能保存public的字段和可读写的属性,对于private等类型的字段不能进行序列化。   二进制序列化的优点:    1. 所有的类成员(包括只读的)都可以被序列化;   2. 性能非常好。   XML序列化的优点:   1. 互操作性好;   2. 不需要严格的二进制依赖;   3. 可读性强   SoapFormatter微软淘汰了,,不能序列化泛型,这里就不多讲了。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服