An array of array of bytes in VB.NET
I need an array and each item in the array is 开发者_高级运维an array of bytes like this, but I'm not sure how to do the:
Dim xx as array
xx(0) *as byte* = {&H12, &HFF}
xx(1) *as byte* = {&H45, &HFE}
You can make a nested or "jagged" byte array like this:
Dim myBytes(6)() As Byte
This will create an empty array of 6 byte arrays. Each element in the outer array will be Nothing
until you assign an array to it, like this:
myBytes(0) = New Byte() { &H12, &Hff }
However, it would probably be a better idea to make a List
of byte arrays, like this:
Dim myBytes As New List(Of Byte())
This will create an empty list of byte array, which will stay empty until you put some byte arrays into it, like this:
myBytes.Add(New Byte() { &H12, &Hff })
Unlike the nested array, a List(Of Byte())
will automatically expand to hold as many byte arrays as you put into it.
For more specific advice, please tell us what you're trying to do.
Please refer to this MSDN topic for more details.
Here's the code to define a multidimensional array:
Dim lotsaBytes(2,4) As Byte
And to initialize it:
Dim lotsaBytes(,) As Byte = New Byte(2, 4) {{1, 2}, {3, 4}, {5, 6}, {7, 8}}
You can solve your problem with the following VB.NET example. Just drag and drop one button and one textbox. The code will be as follows inside the button click event:
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
精彩评论