Collection.GetEnumerator Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Returns a reference to an enumerator object, which is used to iterate over a Collection object.

Namespace:  Microsoft.VisualBasic
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

Syntax

'Declaration
Public Function GetEnumerator As IEnumerator
public IEnumerator GetEnumerator()

Return Value

Type: System.Collections.IEnumerator
Returns a reference to an enumerator object, which is used to iterate over a Collection object.

Remarks

The For Each...Next statement calls GetEnumerator to obtain an enumerator object to support iteration over a collection's elements. Normally, you use a For Each...Next loop to traverse a collection or array, and you do not need to call GetEnumerator explicitly.

If you need closer control over the iteration than the For Each...Next statements provide, you can use the GetEnumerator method to perform a customized traversal. The following are some cases in which you might need to do this.

  • You might want to return to the beginning of the collection and start the iteration again before it is finished.

  • You might want to skip over one or more elements for a variety of reasons.

  • You might need to change the elements of the collection in the middle of a traversal. In this case you must obtain a new enumerator object because the previous one is invalidated.

Examples

The following example shows how to use GetEnumerator to retrieve all the elements of a Collection object.

Dim customers As New Collection
' Insert code to add elements to the customers collection.
Dim custEnum As System.Collections.IEnumerator = customers.GetEnumerator()
custEnum.Reset()
Dim thisCustomer As Object
While custEnum.MoveNext()
    thisCustomer = custEnum.Current()
    ' Insert code to process this element of the collection.
End While

GetEnumerator constructs and returns an enumerator object, which implements the IEnumerator interface of the System.Collections namespace. The enumerator object exposes the Current property and the MoveNext and Reset methods. For more information, see documentation for the For Each...Next statement.

Version Information

Silverlight

Supported in: 5, 4, 3

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.