Problems in declaring a variable as Byte in VB.NET

SpongeBob SquarePants picture SpongeBob SquarePants · Feb 19, 2011 · Viewed 27.3k times · Source

I'm trying out a program which I found on the net. Why is it necessary to put to curly braces at the 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?

Answer

dbasnett picture dbasnett · Feb 19, 2011

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.