1. 定义一个可序列化的对象,如下
[Serializable()] public class Test { public string Key { get; set; } public string Value { get; set; } public string Name { get; set; } }
2. 对象进行赋值,如下:
Test _Test = new Test(); _Test.Key = Guid.NewGuid().ToString(); _Test.Value = Guid.NewGuid().ToString(); _Test.Name = Guid.NewGuid().ToString();
3. 对象序列化,如下:
IFormatter formatter = new BinaryFormatter(); Stream stream = new FileStream("TestObject.bin", FileMode.Create, FileAccess.Write, FileShare.None); formatter.Serialize(stream, _Test); stream.Close();
4. 上面的代码运行后,将会得到一个序列化后的二进制文件(*.bin),使用文本文档打开该文件,可以看到对象的值。
5. 反序列化,如下:
Stream stream = new FileStream("TestObject.bin", FileMode.Open, FileAccess.Read, FileShare.Read); Test Test = (Test)formatter.Deserialize(stream);
6. 上面得到的对象即为之前序列化的对象。