2

次のコードを C++ から C# に翻訳しようとしています。

`

struct tPacket
{
WORD size;
WORD opcode;
BYTE securityCount;
BYTE securityCRC;
}

...

static char data[8192] = {0};
tPacket * packet = (tPacket *)data;`

これまでのところ、私は思いついた:

C#

public struct tPacket
{
public ushort size;
public ushort opcode;
public byte securityCount;
public byte securityCRC;
}     

public static byte[] data = new byte[1024];
tPacket packet = new tPacket();
packet = (tPacket *)data;

ただし、「タイプ 'byte[]' を 'MyNameSpace.tPacket* に変換できません」というエラーが表示されます

コード全体を使用して、受信したパケット バッファー (データ) を構造体に入れ、構造体のメンバーに直接アクセスします。どんな助けでも大歓迎です!前もって感謝します。

4

1 に答える 1

2

役立つリンクは次のとおりです。

http://varjabedian.net/archive/2008/07/29/casting-a-byte-array-into-structures-in-c.aspx

于 2009-03-24T05:15:41.433 に答える