VB.NET中的一个字节数组

时间:2009-12-31 22:01:32

标签: vb.net arrays

我需要一个数组,数组中的每个项都是这样的字节数组,但我不知道如何做:

Dim xx as array

xx(0) *as byte* = {&H12, &HFF}

xx(1) *as byte* = {&H45, &HFE}

3 个答案:

答案 0 :(得分:9)

您可以像这样制作嵌套或“锯齿状”的字节数组:

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())会自动扩展以容纳您放入的字节数组。

有关更具体的建议,请告诉我们您要做的事情。

答案 1 :(得分:2)

有关详细信息,请参阅this MSDN topic

这是定义多维数组的代码:

Dim lotsaBytes(2,4) As Byte

并初始化它:

Dim lotsaBytes(,) As Byte = New Byte(2, 4) {{1, 2}, {3, 4}, {5, 6}, {7, 8}}

答案 2 :(得分:0)

您可以使用以下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