private static unsafe FileHeader ReadFileHeader(FileStream fs) { FileHeader header; byte[] bytes = new byte[sizeof(FileHeader)]; fs.Read(bytes, 0, sizeof(FileHeader)); fixed (byte* p = bytes) { header = *(FileHeader*)p; } return header; }