码迷,mamicode.com
首页 > Windows程序 > 详细

C# 串行【序列化】和解串【反序列化】

时间:2014-12-15 18:47:11      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:des   style   io   ar   os   使用   sp   for   strong   


C#   串行【序列化】和解串【反序列化】

一. 什么是序列化和反序列话呢?

       相信我们做程序的都会遇到这种情况,需要将C#中某一个结构很复杂的类的对象存储起来,或者通过网路传输到远程的客户端程序中去, 这时候用文件方式或者数据库方式存储或者传送就比较麻烦了,这个时候,最好的办法就是使用串行和解串。其实串行就是我们所说的序列化【Serialization】,而解串就是反序列化序列化Deserialization。

二.序列化有那几种:

BinaryFormatter

SoapFormatter

XmlSerializer

三.示例:

使用BinaryFormatter序列化和反序列化;

  序列化:

FileStream fs = new FileStream("SerializedDate.data", FileMode.Create);
BinaryFormatter bf = New BinaryFormatter();
MyClass mc = new MyClass();
bf.Serialize(fs, mc);
fs.Close();

反序列化:

FileStream fs = new FileStream("SerializedDate.data", FileMode.Open);
BinaryFormatter bf = New BinaryFormatter();
MyClass mc = new MyClass(); 

mc = (MyClass)bf.Deserialize(fs);
fs.Close();

注意:

序列化的对象必须是具有【Serializable】标记的;即:MyClass类必须加【Serializable】标记;

bf.Serialize(fs, mc);//序列号

bf.Deserialize(fs); //反序列化

 

 

 

 

其他几种序列化方式思路一样;

 

C# 串行【序列化】和解串【反序列化】

标签:des   style   io   ar   os   使用   sp   for   strong   

原文地址:http://www.cnblogs.com/zlp520/p/4165384.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!