Boni,
Visual Basic has in my opinion taken the right approach that counting start
at First. In my own natural language there is not even an equivalent for
Zero other than Null (nothing).
However, it seems that developers (like me) want to stick on machine code
and use therefore the Zero as first counting position. (Counting starting in
most current cultures with our fingers, from which we have normally when we
are born ten).
However, almost every collection and array in VBNet starts at Zero, with the
exception with the one, which you should in my opinion avoid, the
VB.Collection. If you don't need that for a kind of upgrading than don't use
it. (Although it is an official Net element not a compatible element).
A in my personal opinion strange behaviour from VBNet is, that when you
create an array (and only with that). There is created one extra element.
And therefore when you want an array of 1 element you have to say.
dim mystring(0) as String ' Which is an array of 1 elements.
(It is for those who want to use the "First" element as starting indexer).
I hope this gives an idea.
Cor