开发者

Problems in declaring a variable as Byte in VB.NET

开发者 https://www.devze.com 2023-02-11 04:51 出处:网络
I\'m trying out a program which I found on the net. Why is it necessary to put to curly braces at the开发者_如何学C end of the statement? It gives an error: \"Byte has no constructors\".

I'm trying out a program which I found on the net. Why is it necessary to put to curly braces at the开发者_如何学C end of the statement? It gives an error: "Byte has no constructors".

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

I can't put the code like this either, it produces the error "byte cannot be a 1-dimensional array".

Dim arr As Byte() = New Byte()

Can you explain to me why this is happening?


Some flavors

    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

Inference is generally a bad idea.


You need curly braces, because if you don't put them, it means you're trying to call a constructor for a single object -- which is an error for different reasons:

  1. You can't assign a single object to an array. (This is always true.)
  2. Byte doesn't have a constructor. (This is only true in this particular case.)
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号