1.概要
有些时候,一些变量会因为程序的中断而丢失。能不能用序列化解决这个问题呢,于是有了这个实验。
2.代码
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;
using System.Threading.Tasks;
namespace 序列化
{
[Serializable]
class A {
int a = 1;
string b = "b";
public int fun() {
return a + 2;
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("序列化");
A a = new A();
//用于序列化和反序列化的对象
IFormatter serializer = new BinaryFormatter();
//开始序列化
FileStream saveFile = new FileStream("Test.txt", FileMode.Create, FileAccess.Write);
serializer.Serialize(saveFile, a);
saveFile.Close();
//反序列化
FileStream loadFile = new FileStream("Test.txt", FileMode.Open, FileAccess.Read);
A a2 = serializer.Deserialize(loadFile) as A;
int b = a2.fun();
Console.ReadKey();
}
}
}
3.实验结果