6

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}
1
  • 4
    Just a note that this is almost always a bad idea. Byte arrays have their place, but by the time you start thinking about an array of byte arrays you should really think about a collection of byte arrays instead. Use something like a List<Byte()>. Commented Dec 31, 2009 at 22:04

3 Answers 3

11

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.

Sign up to request clarification or add additional context in comments.

Comments

2

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}}

Comments

0

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

1 Comment

It's better to let people give you feedback in public here on Stack Overflow, so everyone can benefit, than privately to you via email.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.