Vb.net – Size of array in Visual Basic

arraysvb.net

I've tried this code in VB:

Dim a(1) As Byte
Console.WriteLine(a.Length)

The output is "2". Anyone any idea why?

Best Answer

If you are used to C/C++/C# languages you are used that when declaring an array to initialize it with the number of elements in the array.

C# : byte a[] = new byte[1]

will declare a byte array with 1 element (upperBound = 0)

The behavior is different in VB where, when declaring an array the parameter used in initialization represents the UpperBound of the array.

VB.NET: Dim a(1) As Byte

will declare a byte array with 2 elements (upperBound = 1)