In all the languages I have come across and know it is only VB that declares arrays wrongly. There's no possible reason why an array declared with 3 elements should have 4. it's stupid!
Dim myArray(1) As String myArray(0) = "1" 'Most languages would stop here - not VB! myArray(1) = "2"
This is hard for me to accept - it so annoys me :@ But, don't cut off the hand that feeds the mouth and all that rubbish. So I keep quiet and truck on...
The bullet in the head came recently when I wanted to resize an array. So being a good boy I used the Array.Resize method. This is what caused the rant...VB has double standards!
I wanted to add an element to myArray(1) to make it myArray(2). So on the basis of the Dim statement I did:
Array.Resize(myArray, 2)
FAIL! You have to do:
Array.Resize(myArray, 3)
VB - make your frigging mind up!!
I know, I know...I should use an ArrayList, but I was dealing with someone else's code so was stuck with stupid VB arrays - grrr!