2009-12-31 28 views
2

數組我需要一個數組,數組中的每一項都是這樣的字節數組,但我不知道怎麼辦:字節數組的VB.NET

Dim xx as array 

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

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

剛一說明,這是幾乎總是一個壞主意。字節數組有它們的位置,但是當你開始考慮一個字節數組的數組時,你應該真正考慮一個字節數組的_collection_。使用類似列表。 – 2009-12-31 22:04:08

回答

8

您可以嵌套或 「鋸齒」 字節數組是這樣的:

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())將自動展開以保存與放入其中一樣多的字節數組。

有關更具體的建議,請告訴我們您要做什麼。

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

最好讓人們在Stack Overflow上公開反饋,這樣每個人都可以從中受益,而不是通過電子郵件私下給你。 – 2012-05-02 07:58:19