序列化对象和发序列化对象
程序应用过程中,经常会把对象序列化到到文件中,以保存数据。然后再从文件中反序列化出来。
具体应用如下:
1,构造一个类: 注意一定要加上[Serializable],表示可序列。
[Serializable]
class Parameter
{
public int ID { get; set; }
public string name { get; set; }
public int age { get; set; }
public string addr { get; set; }
}
2,声明一个对象,并初始化
static Parameter myParameter = new Parameter();
static void Init()
{
myParameter.ID = 123;
myParameter.name = "naihe";
myParameter.age = 19;
myParameter.addr = "山东省烟台市莱山区98号";
}
3,序列化
static void SerialData(string filePath)
{
using (FileStream fs = File.Create(filePath))
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, myParameter);
}
}
4,反序列化
static void DeserialData(string filePath)
{
using (FileStream fs = File.Open(filePath, FileMode.Open))
{
BinaryFormatter bf = new BinaryFormatter();
myParameter = (Parameter)bf.Deserialize(fs);
fs.Close();
}
}
然后直接调用,序列化到文件:
Init();
SerialData("D:\\serail.txt");
从文件反序列化到对象:
DeserialData("D:\\serail.txt");
Console.WriteLine(myParameter.ID);
Console.WriteLine(myParameter.name);
Console.WriteLine(myParameter.age);
Console.WriteLine(myParameter.addr);
Console.ReadKey();
需要
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;