好吧,在C++中,我可以創建一個結構對象,其中包含一堆值類型,並在需要時將它寫入到單個寫入語句中的二進制文件中,如下所示:C#將類對象寫入二進制文件一步
struct DataFileHeader {
unsigned short Id;
unsigned short Type;
unsigned int Count;
unsigned int Offset;
};
...
struct DataFileHeader dataFileHeader;
...
rc = _write(fileHandle, &dataFileHeader, 12);
有沒有辦法在c#中做到這一點?我已經將結構轉換爲c#中的類,並且正在使用BinaryFormatter並嘗試序列化該對象,但是它向流中添加了一堆文本和其他內容。我只想寫出對象中的所有值字段。這是可能的還是我必須分開寫出對象上的每個字段?
編寫自己的二進制BinaryFormatter並不困難。 –
@ilansch爲什麼不使用現有的BinaryFormatter – ilansch
,因爲它在流中填充了大量的「文本」。諸如DLL名稱,版本,文化,字段名稱等內容。而不是隻有12個字節它返回169. – dblwizard