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. 上面得到的对象即为之前序列化的对象。