For example, a .bmp file has a header containing essential info to describe the bitmap. In C++, it is encapsulated into a struct something like:

struct BMP_HDR
{
char signature[4];
long hdr_size;
...........
}

Write the struct into a file by using the code:
BMP_HDR hdr;
........// filling the hdr struct
CFile file;
file.Open(...);
file.Write(&hdr, sizeof(hdr));

So, how to do this in C# to achieve the same goal?
By the way, the sizeof() operator is NOT recommended in managed code in C#, is it?

Thanks!!!