Tom*_*len 6 c# byte bit-manipulation bytearray concatenation
鉴于这些整数:
public uint ServerSequenceNumber;
public uint Reserved1;
public uint Reserved2;
public byte Reserved3;
public byte TotalPlayers;
Run Code Online (Sandbox Code Playgroud)
byte[]从它们创建数组的最佳方法是什么?如果它们的所有值都是1结果数组将是:
00000000000000000000000000000001 00000000000000000000000000000001 00000000000000000000000000000001 00000001 00000001
Run Code Online (Sandbox Code Playgroud)
这应该做你想要的.BitConverter按正在使用的处理器的字节顺序返回一个字节数组.对于x86处理器来说,它是小端的.这将最低有效字节放在第一位.
int value;
byte[] byte = BitConverter.GetBytes(value);
Array.Reverse(byte);
byte[] result = byte;
Run Code Online (Sandbox Code Playgroud)
如果您不知道将要使用该应用程序的处理器我建议使用:
int value;
byte[] bytes = BitConverter.GetBytes(value);
if (BitConverter.IsLittleEndian){
Array.Reverse(bytes);
}
byte[] result = bytes;
Run Code Online (Sandbox Code Playgroud)