Поделиться через


Collection.GetEnumerator Метод

Определение

Возвращает перечислитель, который выполняет итерацию по коллекции.

public:
 System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator();
member this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

Возвращаемое значение

Перечислитель, который можно использовать для итерации по коллекции.

Примеры

В следующем примере показано, как использовать GetEnumerator для извлечения всех элементов Collection объекта.

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 создает и возвращает объект перечислителя, который реализует IEnumerator интерфейс System.Collections пространства имен. Объект перечислителя предоставляет Current свойство и MoveNextReset методы. Дополнительные сведения см. в разделе "Для каждого... Следующая инструкция.

Комментарии

Для каждого... Далее оператор вызывает GetEnumerator получение объекта перечислителя для поддержки итерации элементов коллекции. Как правило, для обхода коллекции или массива For Eachиспользуется цикл ...Next и не требуется явно вызывать GetEnumerator .

Если вам нужен более тесный контроль над итерацией, чем For Eachпредоставленные инструкции ...Next , можно использовать GetEnumerator метод для выполнения настраиваемого обхода. Ниже приведены некоторые случаи, в которых может потребоваться сделать это.

  • Вы можете вернуться к началу коллекции и снова запустить итерацию, прежде чем завершить ее.

  • Может потребоваться пропустить один или несколько элементов по различным причинам.

  • Возможно, потребуется изменить элементы коллекции в середине обхода. В этом случае необходимо получить новый объект перечислителя, так как предыдущий является недействительным.

Применяется к