In C++, I have a struct like that:

struct SocketData{
int cbsize;
char name[20];
int cmd[3];
char data[1];
};

It means that I can create a sizeable struct but all member datas are stored in continuous memory.
In C#, I know that array is defined as reference so I don't know how to create sizeable struct in C#.