2010-10-13 12 views

Respuesta

3

No hay diferencia.

Citas de la spec (espec 2003, pero igual en la especificación 2010, como puede ser descargado here):

tipos de matriz se especifican mediante la adición de un modificador a un nombre de tipo existente.

Una variable también se puede declarar como un tipo de matriz al poner un modificador de tipo de matriz o un modificador de inicialización de matriz en el nombre de la variable.

Para mayor claridad, no es válido para tener un modificador de tipo de matriz tanto en un nombre de variable y un nombre de tipo en la misma declaración.

Y a continuación es la muestra de la especificación que muestra todas las opciones:

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 

Y como se puede ver en los comentarios, A1 y A4 hace lo mismo.

4

Son lo mismo. Puede verificarlo mirando el código compilado en el reflector, o escribiendo ese código en el IDE, luego colocando el mouse sobre cada uno.

-Están reportados como "var1() como byte" y "var2() como byte"

a pesar de que el primero fue declarado con la sintaxis alternativa.

Cuestiones relacionadas