我有一个byte []数组,大多只使用阵列的部分,而其余的都是0×00。在这种情况下,我怎样才能得到所需的数组元素,而不是整个数组?我有一个int rxlen,它将是数组中实际元素的长度。我怎样才能获得阵列的一部分,从一个byte []数组
实施例:
byte[] framessent = {0xff, 0x53, 0x7e, 0x80, 0x00, 0x07, 0x60, 0x96, 0x2d, 0x00, 0x00.....}
byte[] framereceived = {0xff, 0x53, 0x7e, 0x80, 0x00, 0x07, 0x60, 0x96, 0x2d, 0x00, 0x00.....}
framesent通常为150个字节,这是我的控制,但framereceived是300。我想简单地比较framesent之间的数组元素(有效数据)和framereceived而不是后面的0x00。
我尝试使用Buffer.BlockCopy和Array.Copy如下但是我还是整个阵列,而不是那些我所需要的。
Buffer.BlockCopy(RxBuffer, 0, framereceived, 0, rxlen);
你就不能使用'.Skip()'(如果需要的话)和'。取()'?这可能不是最好的表现,但我认为它会很容易地完成这项工作,尤其是在你提到的数量方面。 – Maarten 2014-09-01 07:23:45