首页 新闻 会员 周边 捐助

序列化用在哪里

0
[待解决问题]

想学一下序列化,不知道序列化是什么,不知道怎么用,谁能告诉一下,举个例子最好,谢谢

杀  手的主页 杀 手 | 菜鸟二级 | 园豆:213
提问于:2011-05-25 10:13
< >
分享
所有回答(2)
0

举个例子来说 需要跨语言平台传输数据,不用序列化(二进制流或xml, json文本等等)根本无法实现。

Lesterwang | 园豆:205 (菜鸟二级) | 2011-05-25 11:07
0

序列化就是将一个对象直接变成二进制数据,举例说明

创建一个Person类

[Serializable]
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public char Gender { get; set; }
}

在main函数中:

#region ---序列化---
////初始化期
//Person p = new Person() { Name = "韩迎龙", Age = 23, Gender = '男' };
////保存文件到硬盘上面
//using (FileStream file = new FileStream("person.dat", FileMode.Create, FileAccess.Write))
//{
// BinaryFormatter format = new BinaryFormatter();
// //这里有多态的效果
// format.Serialize(file, p);
//}
//Console.WriteLine("OK");
//Console.ReadKey();
#endregion

#region ---反序列化---
//反序列化与序列化类似,只是步骤有点不同
Person p = null;
using (FileStream file = new FileStream("person.dat", FileMode.Open, FileAccess.Read))
{
BinaryFormatter formate = new BinaryFormatter();
p = (Person)formate.Deserialize(file);
}
Console.WriteLine(p.Name + p.Age + p.Gender);
#endregion

Kencery | 园豆:357 (菜鸟二级) | 2012-09-11 15:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册