I\'ve tried this code in VB:
Dim a(1) As Byte
Console.WriteLine(a.Length)
The output is \"2\". Anyone any idea why?
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)