2010-10-13 24 views
7

當聲明一個字節數組時,以下幾點有什麼區別?有沒有一個,還是隻有兩種不同的方式去做同樣的事情?在VB.NET中聲明一個字節數組

Dim var1 As Byte() 
Dim var2() As Byte 

回答

3

沒有區別。從spec

行情(2003規範,但在2010年的規範作爲可下載here相同):

數組類型是通過將改性劑現有類型名指定。

通過在變量名上放置數組類型修飾符或數組初始化修飾符,還可以聲明變量爲數組類型。

爲了清楚起見,在同一聲明中對變量名稱和類型名稱都使用數組類型修飾符是無效的。

而且下面是從規範樣本,顯示所有的選項:

Module Test 
    Sub Main() 
     Dim a1() As Integer ' Declares 1-dimensional array of integers. 
     Dim a2(,) As Integer ' Declares 2-dimensional array of integers. 
     Dim a3(,,) As Integer ' Declares 3-dimensional array of integers. 

     Dim a4 As Integer() ' Declares 1-dimensional array of integers. 
     Dim a5 As Integer(,) ' Declares 2-dimensional array of integers. 
     Dim a6 As Integer(,,) ' Declares 3-dimensional array of integers. 

     ' Declare 1-dimensional array of 2-dimensional arrays of integers 
     Dim a7()(,) As Integer 
     ' Declare 2-dimensional array of 1-dimensional arrays of integers. 
     Dim a8(,)() As Integer 

     Dim a9() As Integer() ' Not allowed. 
    End Sub 
End Module 

而且可以看出在評論中,A1和A4做同樣的事情。

4

它們是一樣的東西。您可以通過查看反射器中的編譯代碼,或者在IDE中編寫代碼,然後將鼠標懸停在每個代碼上來進行驗證。

他們報告爲「VAR1()作爲字節」和「VAR2()作爲字節」,即使第一次是用替代語法聲明