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

时间:2011-02-19 03:03:16

标签: .net vb.net variables byte variable-declaration

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

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

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

Dim arr As Byte() = New Byte()

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

2 个答案:

答案 0 :(得分: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

推理通常是一个坏主意。

答案 1 :(得分:7)

你需要花括号,因为如果你不放它们,就意味着你试图为单个对象调用一个构造函数 - 这是一个错误,原因各不相同:

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