C#怎么实现序列化和反序列化


这篇文章主要讲解了“C#怎么实现序列化和反序列化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么实现序列化和反序列化”吧!首先把需要序列化的类打上[Serializable]特性,如果某个字段不需要被序列化,就打上[NonSerialized]特性。对象序列化后需要一个载体文件,以下的Meeting.binary文件用来存储对象的状态。Meeting.binary文件在bin/debug文件夹中。如果想对序列化的过程有更多的控制,应该使用ISerializable接口,通过它的GetObjectData方法可以改变对象的字段值。以上,不仅要实现接口方法GetObjectData,还需要提供对象的重载构造函数,从SerializationInfo实例中获取值。在客户端:以上,使用BinaryFormatter类进行序列化和反序列化,存储的文件格式是二进制的,例如,打开Meeting.binary文件,我们看到:有时候,我们希望文件的格式是xml。XmlSerializer类进行序列化的存储文件是xml格式。用XmlSerializer类进行序列化的类不需要打上[Serializable]特性。在客户端:运行,打开bin/debug中的Car.xml文件如下:类名Car成了xml的根节点打上[XmlAttribute(AttributeName = “model”)]特性的字段变成了根节点的属性,AttributeName为属性别名枚举项可打上[XmlEnum(“使用中”)]特性如果一个类中包含集合属性,比如以下的Department类包含一个类型List的集合属性Employees。在客户端:查看bin/debug中的Department.xml文件。感谢各位的阅读,以上就是“C#怎么实现序列化和反序列化”的内容了免费云主机域名,经过本文的学习后,相信大家对C#怎么实现序列化和反序列化这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是百云主机,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: 如何快速在Ubuntu或CentOS上安装PHP

本篇内容介绍了“如何快速在Ubuntu或CentOS上安装PHP”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 在Ubuntu安装PHP$sudoapt-get…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 02/13 20:48
下一篇 02/13 20:57

相关推荐