从整数集创建字节数组

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)

Rob*_*ert 7

这应该做你想要的.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)