的系列化我試過基本系列化(修改和簡化)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