You can use the extension indexer property to access individual elements in a collection. This indexer property is typically used on the output of XML axis properties. The XML child and XML descendent axis properties return collections of XElement objects or an attribute value.
The Visual Basic compiler converts extension indexer properties to calls to theElementAtOrDefault method. Unlike an array indexer, theElementAtOrDefault method returns Nothing if the index is out of range. This behavior is useful when you cannot easily determine the number of elements in a collection.
This indexer property is like an extension property for collections that implement IEnumerable<T> or IQueryable<T>: it is used only if the collection does not have an indexer or a default property.
The following example shows how to use the extension indexer to access the second child node in a collection of XElement objects. The collection is accessed by using the child axis property, which gets all child elements named phone in the contact object.