Проблемы с объявлением переменной как Byte в VB.NET

Я пробую программу, которую я нашел в сети. Почему необходимо ставить фигурные скобки в конце утверждения? Это дает ошибку:"Byte не имеет конструкторов".

Dim data As Byte() = New Byte(1023) {}

Я не могу поместить код так, как это, он создает ошибку "байт не может быть 1-мерным массивом".

Dim arr As Byte() = New Byte()

вы можете объяснить мне, почему это происходит?

2 ответов


вам нужны фигурные скобки, потому что если вы их не ставите, это означает, что вы пытаетесь вызвать конструктор для один object -- который является ошибкой по разным причинам:

  1. вы не можете назначить один объект в массив. (Это всегда так.)
  2. Byte не имеет конструктора. (Это верно только в данном конкретном случае.)

некоторые ароматы

    Dim b() As Byte 'b is nothing
    Dim b1(1023) As Byte 'b1 is an array of 1024 elements, all equal to 0
    Dim b2() As Byte = New Byte() {85, 99, 1, 255} 'four elements

    b = New Byte() {} 'zero element array
    b = New Byte() {1, 2} 'two element array

вывод, как правило, плохая идея.