的系列化我试过基本系列化(修改和简化)MSDN为例,在http://msdn.microsoft.com/en-us/library/4abbf6k0.aspxC#:简单类
//the class :
[Serializable]
public class MyObject {
public byte n1 = 0;
public byte n2 = 0;
}
//The code
MyObject obj = new MyObject();
obj.n1 = 1;
obj.n2 = 24;
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
formatter.Serialize(stream, obj);
stream.Close();
所以,我希望找到2个字节范围内:0x01为0x18在MyFile.bin
但它的不是这样的,我有这样的结果:
为什么会出现这一切。我该如何做我想做的事。
此测试的目的是为了将它们保存到一个二进制文件
'BinaryFormatter'添加一些关于结构的元数据。但是即使你忽略了它 - “int”每个都有4个字节,你为什么期望看到2个字节有两个4-by-Int32结构? – 2013-03-22 11:39:37
您应该为流使用'using'语句,以确保在出现异常时清理资源。 'Close()'不够安全,因为它可能会在它到达该语句之前崩溃。 – 2013-03-22 11:52:48
对不起,在发布MyObject类的两个成员都是字节(但我不知道如何编辑我的问题)之前我没有纠正 – lolonapoli 2013-03-22 12:59:07