本帖最后由 赵威 于 2013-4-29 08:56 编辑
//这是序列化的代码
amespace _练习
{
class Program
{
static void Main(string[] args)
{
Person p1=new Person ();
p1.Name ="zw";
p1.Gender ="m";
p1.Age =18;
//序列化第一步,创建一个序列化器
BinaryFormatter bf = new BinaryFormatter();
//序列化第二步,创建一个写入流
using(FileStream fsWrite=new FileStream ("aaaa.zw",FileMode.Create ))
{
//序列化第三步,开始序列化
bf.Serialize(fsWrite, p1);
}
Console.WriteLine("序列化成功");
Console.ReadKey();
}
}
[Serializable]
public class Person
{
public string Name
{
get;
set;
}
public string Gender
{
get;
set;
}
public int Age
{
get;
set;
}
}
}
//下面是反序列化的代码
namespace 反序列化
{
class Program
{
static void Main(string[] args)
{
//第一步,创建一个反序列化器
BinaryFormatter bf = new BinaryFormatter();
//第二步,创建一个读取流
using (FileStream fsRead = new FileStream(@"E:\艾尔的东西\新建文件夹\aaaa.zw", FileMode.Open))
{
//第三步,开始反序列化
object obj=bf.Deserialize(fsRead);
Person p2 = new Person();
Console.WriteLine(p2.Name );
Console.WriteLine(p2.Age );
Console.WriteLine(p2.Gender );
}
Console.WriteLine("反序列化成功");
Console.ReadKey();
}
}
}
本来反序列化应该出来的是:zw,m,18。但出现的却是下面的情况,这是为什么,哪里出错了?
|
|