我需要一个数组,其中每个项目都是像这样的字节数组,但我不确定如何实现:
Dim xx as array
xx(0) *as byte* = {&H12, &HFF}
xx(1) *as byte* = {&H45, &HFE}
你可以像这样创建一个嵌套或“不规则”的字节数组:
Dim myBytes(6)() As Byte
这将创建一个包含 6 个字节数组的空数组。外部数组中的每个元素在分配数组之前都将是 Nothing
,例如:
myBytes(0) = New Byte() { &H12, &Hff }
不过,更好的做法可能是创建一个字节数组的List
,像这样:
Dim myBytes As New List(Of Byte())
这将创建一个空的字节数组列表,直到您放入一些字节数组才会有内容,就像这样:
myBytes.Add(New Byte() { &H12, &Hff })
与嵌套数组不同,List(Of Byte())
会自动扩展以容纳您放入其中的任意数量的字节数组。Dim lotsaBytes(2,4) As Byte
并进行初始化:
Dim lotsaBytes(,) As Byte = New Byte(2, 4) {{1, 2}, {3, 4}, {5, 6}, {7, 8}}
你可以通过以下VB.NET示例解决你的问题。只需拖放一个按钮和一个文本框即可。代码将在按钮点击事件内部如下:
Private Sub btnCalcBcc_Click(sender As System.Object, e As System.EventArgs) Handles btnCalcBcc.Click
Dim BCC As Int16
Dim Bcc2 As Int16
Dim arr() As Byte = {&H1B, &H58, &H41, &H42, &H43, &H44, &H45, &H46, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, &H17, &H0, &H0, &H0, &H0}
For i As Integer = 0 To arr.Length - 1
BCC = BCC Xor arr(i)
BCC = BCC << 1
Bcc2 = (BCC >> 8)
Bcc2 = Bcc2 And &H1
BCC = BCC + Bcc2
Next
txtBCC.Text = BCC
End Sub