如何使用File.WriteAllBytes?,C#保存可序列化对象

时间:2012-01-31 13:53:57

标签: c# serialization save

我需要保存一个对象,它可序列化,但我不想使用XML。 是否可以写入对象的原始字节,然后从磁盘上读取它以再次创建对象?

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

使用BinaryFormatter

var formatter = new BinaryFormatter();

// Serialize
using (var stream = File.OpenWrite(path))
{
    formatter.Serialize(stream, yourObject);
}

...

// Deserialize
using (var stream = File.OpenRead(path))
{
    YourType yourObject = (YourType)formatter.Deserialize(stream);
}

答案 1 :(得分:1)

是的,它被称为二进制序列化。 MSDN网站上有一些很好的例子:

http://msdn.microsoft.com/en-us/library/4abbf6k0(v=vs.100).aspx