Объявление байтового массива в VB.NET - PullRequest
10 голосов
/ 13 октября 2010

При объявлении байтового массива, в чем разница между следующим?Есть ли один, или это просто два разных способа достижения одного и того же?

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

Ответы [ 2 ]

4 голосов
/ 14 октября 2010

Разницы нет.

Цитаты из спецификации (спецификации 2003 года, но те же в спецификации 2010 года, которые можно загрузить здесь ):

Типы массивов задаются путем добавления модификатора к имени существующего типа.

Переменная также может быть объявлена ​​как тип массива, поместив модификатор типа массива или модификатор инициализации массива в имя переменной.

Для ясности недопустимо иметь модификатор типа массива как для имени переменной, так и для имени типа в одном объявлении .

И ниже образец из спецификации, который показывает все опции:

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 голосов
/ 14 октября 2010

Это одно и то же. Вы можете проверить это, посмотрев скомпилированный код в отражателе, или написав этот код в IDE, а затем наведя курсор мыши на каждый из них.

Они сообщаются как "var1 () как байт" и "var2 () как байт"

, хотя первое было объявлено с альтернативным синтаксисом.

...