private static unsafe void WriteFileHeader(FileStream fs, FileHeader header) { byte[] data = new byte[sizeof(FileHeader)]; fixed (byte* pData = data) { FileHeader* temp = (FileHeader*)pData; *temp = header; } fs.Write(data, 0, sizeof(FileHeader)); }