我有一個未知大小的字節數組,我想將每四個字節轉換爲一個整數。問題是未知大小類似這樣的東西是行不通的:將剩餘分割字節數組(未知大小)分塊成
Private Sub(ByVal list() as Byte)
For i = 0 To list.Count - 1 Step 4
Next
至於如果大小不是divideable 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
這取決於你在循環中做什麼。您現在向我們展示的代碼似乎非常安全。 – derpirscher
正如我所說,我試圖將每四個字節轉換爲一個整數。這是因爲我想從字節數組中讀取整數。 BitConverter.ToInt32只將偏移量作爲參數。 – Baldik
然後顯示你怎麼做 – derpirscher