から:
http://www.developerfusion.com/article/84519/mastering-structs-in-c/
構造体でバイトの配列を 1 つのバイトとして宣言し、FieldOffset を使用して配列にメモリを割り当てることが提案されています。メモリが割り当てられると、ポインタ演算を使用して配列にアクセスできます。
例:
[StructLayout(LayoutKind.Explicit, Pack = 1, Size = 1300)]
public struct TGLProtocolBuffer
{
[FieldOffset(0)]
public byte StartByte;
[FieldOffset(1)]
public byte MessageNumber;
[FieldOffset(2)]
public UInt16 Command;
[FieldOffset(4)]
public UInt32 UnitID;
[FieldOffset(8)]
public UInt16 DataLength;
[FieldOffset(10)]
public byte Data;
};
Array.Copy を使用してこのメモリを操作したいのですが、構造体で定義された配列をバイトとしてバイト [] にキャストする必要があります。
バイトをバイト[]にキャストするにはどうすればよいですか?