在VB.NET中将变量声明为Byte的问题

Spo*_*nts 6 .net vb.net variables byte variable-declaration

我正在尝试一个我在网上找到的程序.为什么有必要在声明的最后加上大括号?它给出了一个错误:"Byte没有构造函数".

Dim data As Byte() = New Byte(1023) {}
Run Code Online (Sandbox Code Playgroud)

我不能把这样的代码,它产生错误"字节不能是一维数组".

Dim arr As Byte() = New Byte()
Run Code Online (Sandbox Code Playgroud)

你能解释一下为什么会这样吗?

dba*_*ett 11

一些口味

    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
Run Code Online (Sandbox Code Playgroud)

推理通常是一个坏主意.


Meh*_*dad 7

你需要花括号,因为如果你不把他们来说,这意味着你要调用构造为一个单一的对象-这是出于不同的原因的错误:

  1. 您不能将单个对象分配给数组.(这总是如此.)
  2. Byte没有构造函数.(这只适用于这种特殊情况.)