Returns a reference to an enumerator object, which is used to iterate over a Collection object.
Assembly: Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)
The For Each...Next Statement (Visual Basic) 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.
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 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 For Each...Next Statement (Visual Basic).
Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.