Public Function Slice(data As Byte(), start As Integer, len As Integer) As Byte()
Dim b(len - 1) As Byte
For i = start To start + len - 1
b(i - start) = data(i)
Next
Return b
End Function
测试用例:
dim data as byte()={1,2,3,4,5,6,7,8,9}
dim b=slice(data,3,5)
与
dim b(5-1) byte
array.copy(b,0,data,3,5)
与简单的 Slice 扩展方法相比,array.copy 有什么好处?特别是当我们确定数据长度和索引永远不会超出范围时。框架中还有其他方便的字节数组处理选项(无论是为了性能和方便)?
在这里找到了一个非常好的库 ArraySegment的轻量级扩展方法,对字节数组特别有用。
这种努力确实有帮助。