我有一个大小未知的字节数组,我希望将每四个字节转换为一个整数。问题是未知的大小,因为这样的东西不起作用:
Private Sub(ByVal list() as Byte)
For i = 0 To list.Count - 1 Step 4
Next
如果大小不能被4分割,它将导致异常。 那么如何将字节数组分成四个字节的块?
这是我目前的尝试,但它会导致异常。
Public Function MakeByteChunks(ByVal pByte() As Byte, ByVal pSize As Integer) As List(Of Byte())
Dim chunkList As New List(Of Byte())
For i = 0 To pByte.Count - 1
Dim tmpchunkList(pSize) As Byte
Array.Copy(pByte, i, tmpchunkList, 0, pSize)
chunkList.Add(tmpchunkList)
Next
Return chunkList
End Function
当我试图将其转换为整数时:
Dim splittedArray = MakeByteChunks(list, 1)
For i = 0 To splittedArray.Count - 1
Dim Value = BitConverter.ToInt32(splittedArray(i), 0)})
Next
答案 0 :(得分:1)
如果问题是最后一个可以短于4的块,就像这样做
Private Sub(ByVal list() as Byte)
For i = 0 To (list.Count - 3) - 1 Step 4
Next