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


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 свойство и методы MoveNext и Reset . Дополнительные сведения см. в разделе For Each... Следующая инструкция.

Комментарии

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

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

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

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

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

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