1.序列化与反序列化都用的是相同的
BinaryFormatter bf=new BinaryFormatter()
2. 使用 流 的方式
FileStream fs=new FileStream("序列化内容路径(一般为本地bin--debug文件中)(类名.bin)",FileMode.OpenOrCreate)
3.序列化:bf.Serialize(流对象,建立的类的对象) 反序列化:bf.Deserialize(流对象);
4.通常在不同的项目中进行反序列化,所以将序列化的应用程序(.exe)引用到反序列化的项目中
序列化:
C#控制台应用程序中
class Program
{
static void Main(string[] args)
{
//建立类的对象
Person person1 = new Person() { Name = "张飒", Age = 22 };
//建立 流 进行 二进制序列化
FileStream fs = new FileStream("person.bin",FileMode.OpenOrCreate);
//new FileStream("标明序列化的位置",FileMode.OpenOrCreate)
BinaryFormatter bf = new BinaryFormatter();
//若想标为序列化必须将类声明为可序列化
bf.Serialize(fs,person1);
Console.WriteLine("序列化成功");
Console.ReadKey();
}
}
//序列化要 建立公共类
[Serializable] //类的可序列化
public class Person
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
}