Problems in declaring a variable as Byte in VB.NET
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:
- You can't assign a single object to an array. (This is always true.)
Byte
doesn't have a constructor. (This is only true in this particular case.)
精彩评论