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 回答