如何拆分字节数组并分配给字节变量?

时间:2015-05-05 12:07:32

标签: c# arrays methods split byte

在我的C#应用​​程序中,我有一个字节数组如下。

byte[] byteArray = {0x2, 0x2, 0x6, 0x6};

我需要拆分前两个元素,即0x2和0x2,并将其分配给一个字节变量。同样,最后两个元素应该分配给另一个字节变量。

byte FirstByte = 0x22;
byte SecondByte = 0x66;

我可以将数组拆分为子数组,但我找不到将byteArray转换为单个字节的方法。

1 个答案:

答案 0 :(得分:4)

您可以将它们按位或一起使用<<移动其中一个半字节:

byte firstByte  = (byte)(byteArray[0] | byteArray[1] << 4);
byte secondByte = (byte)(byteArray[2] | byteArray[3] << 4);

您没有指定组合半字节的顺序,因此您可能需要这样:

byte firstByte  = (byte)(byteArray[1] | byteArray[0] << 4);
byte secondByte = (byte)(byteArray[3] | byteArray[2] << 4);