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
метод для выполнения настраиваемого обхода. Ниже приведены некоторые случаи, в которых это может потребоваться.
Возможно, вам потребуется вернуться к началу коллекции и снова запустить итерацию, прежде чем она будет завершена.
Вы можете пропустить один или несколько элементов по ряду причин.
Может потребоваться изменить элементы коллекции в середине обхода. В этом случае необходимо получить новый объект перечислителя, так как предыдущий объект является недействительным.