Are array indexes 0-based in VB6?

Jader Dias picture Jader Dias · Jan 9, 2012 · Viewed 19.7k times · Source

I'm reviewing an automatic translation of VB6 code to C# and the convertor translated someArray(3) to someArray[3]. But accordingly to the old code documentation it should pick the third element not the fourth as it is doing in the translated version.

Are array indexes 0-based in VB6? Or do they start at 1?

Answer

Jon Egerton picture Jon Egerton · Jan 9, 2012

Yes - arrays are (generally) 0 based in VB6

The exceptions to this are when the explicit Dim someArray(1 To 10) as Int syntax has been used, or when Option Base 1 is declared at the top of the code module.

It's Collections that aren't - when you loop through Collection objects I'm pretty sure that they are 1 based.