您可能已经知道,我正在迁移到 C#,而 C++ 中的某些东西看起来有所不同。
C++ 代码
BYTE packetBuffer[32] = {0};
*(LPWORD)(packetBuffer + 0) = 0xC;
*(LPWORD)(packetBuffer + 2) = 0x5000;
*(LPDWORD)(packetBuffer + 6) = dwArgs[13];
*(LPDWORD)(packetBuffer + 10) = *(keyArray2 + 0);
*(LPDWORD)(packetBuffer + 14) = *(keyArray2 + 1);
注意 dwArgs 和 keyArray2 是“DWORD 数组”
这是它的放置方式
- 数据包缓冲区 [0] 将为 0xC
- 数据包缓冲区 [1] 将为 0x00
- 数据包缓冲区 [2] 将为 0x50
- 数据包缓冲区 [3] 将为 0x00
等等
如何在 C# 中做到这一点?
我试过这个,但它不起作用
packetBuffer[0] = 0xC;
packetBuffer[2] = (byte)0x5000; //error
packetBuffer[6] = (byte)dwArgs[13];