I am expecting it to iterate from [1] to [4] but it starts with the second value and ends with an out-of-bounds error. So I assume the arrays are actually 0-based despite the examples using [1] as the starting point?

I am expecting it to iterate from [1] to [4] but it starts with the second value and ends with an out-of-bounds error. So I assume the arrays are actually 0-based despite the examples using [1] as the starting point?

Arrays are always zero-based... so your example goes from 0 to 3 ...

Some examples are based on StringSplit() which createss a zero based array. position 0 hold the number of items found and the first Item is put in position 1 .