6

我正在尝试我在网上找到的一个程序。为什么有必要在语句的末尾加上花括号?它给出了一个错误:“字节没有构造函数”。

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

我也不能这样写代码,它会产生错误“字节不能是一维数组”。

Dim arr As Byte() = New Byte()

你能向我解释为什么会这样吗?

4

2 回答 2

14

一些口味

    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

推理通常是一个坏主意。

于 2011-02-19T16:02:30.333 回答
7

你需要花括号,因为如果你不放它们,这意味着你正在尝试为单个对象调用构造函数——由于不同的原因,这是一个错误:

  1. 您不能将单个对象分配给数组。(这总是正确的。)
  2. Byte没有构造函数。(这仅在这种特殊情况下是正确的。)
于 2011-02-19T03:04:30.190 回答