Some people seem to forget that arrays in VB.Net are 0-based. Meaning that this.
Dim array1(0) As Integer
This instantiates the array with one element in it. But there is nothing stopping you from creating an array with 0 elements in it. Appart from the fact that it seems a bit unnatural.
Dim array1(-1) As Integer
And why would you do that? Why not just do.
Dim array1() As Integer
Because the above will give you a NullReferenceException, that’s why.
So doing the unnatural is perhaps the way to go if you really need an array that has no predefined size.