代码:
/**************************
*
* 序列化与反序列化
*
*
* ************************/
using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;//序列化
namespace 序列化与反序列化
{
class Demo1
{
private string _Path1 = @"E:\TeacherLiuSutdy\Hight Level Teach\SerializableTest.txt";
/// <summary>
/// 对象的序列化
/// </summary>
public void Test1()
{
Person p = new Person("李一凡",8);
if (File.Exists(_Path1))
{
using (FileStream fs = new FileStream(_Path1, FileMode.OpenOrCreate))
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs,p);
}
}
}
/// <summary>
/// 对象的反序列化
/// </summary>
public void Test2()
{
Person p = null;
using (FileStream fs = new FileStream(_Path1, FileMode.OpenOrCreate))
{
BinaryFormatter bf = new BinaryFormatter();
p = bf.Deserialize(fs) as Person;
}
//显示信息
Console.WriteLine(p.Name);
}
static void Main(string[] args)
{
Demo1 obj = new Demo1();
obj.Test1();
obj.Test2();
Console.WriteLine("Hello World!");
Console.ReadKey();
}
}
}
//序列化对象
using System;
using System.Collections.Generic;
using System.Text;
namespace 序列化与反序列化
{
[Serializable]
public class Person
{
private string _Name;
private int _Age;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
public int Age
{
get { return _Age; }
set { _Age = value; }
}
public Person(string name,int age)
{
_Name = name;
_Age = age;
}
}
}