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