Simen,
Really depends on which Collection object you are referring to.
The Microsoft.VisualBasic.Collection object has this "off by one" feature
that you are referring to. This is to maintain compatibility with VB6.
All (that I know of) the collections in the framework (System.Array,
System.Collections.*, plus all the ones in Windows Forms, Web Forms,
ADO.NET) that allow indexing by integer operator as Scott M stated. Some
have Count, some have Length.
Because of this inherit "off by one" feature, plus it is designed to do
more, I normally do not use Microsoft.VisualBasic.Collection, instead
relying on the collections in System.Collections. As System.Collections
collections are consistent with the rest of the framework, and are more
lightweight & specialized collections.
Hope this helps
Jay