Проблемы с объявлением переменной как байта в VB.NET - PullRequest
6 голосов
/ 19 февраля 2011

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

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

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

Dim arr As Byte() = New Byte()

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

Ответы [ 2 ]

11 голосов
/ 19 февраля 2011

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

    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

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

7 голосов
/ 19 февраля 2011

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

  1. Вы не можете назначить отдельный объект массиву.(Это всегда так.)
  2. Byte не имеет конструктора.(Это верно только в данном конкретном случае.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...