我有一个100字节的字节数组。
从0到15,这些字节对应于parameter1,
从16到50,对应于参数2,
从51到80对应于parameter3,
从81到99对应于parameter4
索引1,15,16,50,51,80,81,99未修复。它们随参数
而变化我从设备读取字节。我必须更新参数3的字节。
我该如何实现?
谢谢
P.S。下面是一个简单的例子。我将字节“23”和“34”替换为“99”
Dim temp As Byte() = New Byte() {12, 23, 12, 23, 34, 56, 67, 89}
Dim tempReplaced As Byte() = New Byte() {12, 23, 12, 99, 99, 56, 67, 89}
答案 0 :(得分:1)
到目前为止,我已经找到了这个:
Public Shared Sub ReplaceByteArray(ByRef sourceArray As Byte(), arrayToReplace As Byte(), startPosition As Integer, length As Integer)
Dim counter As Integer = 0
While counter < length
sourceArray(startPosition + counter) = arrayToReplace(counter)
counter += 1
End While
End Sub
傻了我,我觉得它更复杂了
如果您发现更高效或更好的其他解决方案,请随时发布...
答案 1 :(得分:1)
Array.Copy method会将指定的一组元素从一个数组复制到另一个数组。
以下陈述将按照您的意愿行事。
Array.Copy(dataArray, parm3Index, parm3Array, 0, parm3Array.Length)
其中
dataArray
是您从设备中读取的数据parm3Index
是数组parm3Array
是一个数组,包含要将parameter3更改为