在将某些代码从C ++转换为C#的过程中,我发现了这一点,

unsigned char *p = m_pRecvBuffer + 5;
unsigned int noncelen1 = *p * 256 + p[1];


如何将其转换为C#? m_pRecvBuffer是一个字符数组,但是我将其存储为字节数组。

最佳答案

类似于

byte[] p = new byte[m_pRecvBuffer.Length - 5];
Array.Copy(m_precvBuffer, p, m_pRecvBuffer.Length - 5);
uint noncelen1 = p[0] * 256 + p[1];


但是在那种情况下,我认为您实际上不需要使用数组副本。只是使用

uint noncelen1 = p[5] * 256 + p[6];


我想应该就足够了。

09-06 00:02