MatchCollection.GetEnumerator Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет перечислитель, который выполняет итерацию по коллекции.
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Возвращаемое значение
Объект, содержащий все Match объекты в пределах MatchCollectionобъекта.
Реализации
Исключения
Произошло время ожидания.
Комментарии
Вместо вызова GetEnumerator() метода для получения перечислителя, который позволяет итерировать объекты Match в коллекции, следует использовать конструкцию итерации коллекции, предоставляемую языком программирования (например foreach , в C#).
Итерирование элементов метода (или foreach инструкции) приводит к тому, что обработчик регулярных MatchCollectionGetEnumerator() выражений заполняет коллекцию по мере необходимости с помощью отложенной оценки. В отличие от этого, подсистема регулярных выражений использует прямую оценку для заполнения коллекции одновременно при Count доступе к свойству. Это может быть гораздо более дорогим методом построения коллекции, чем отложенная оценка.
MatchCollection Так как объект обычно заполняется с помощью отложенной оценки, попытка перейти к следующему члену коллекции может вызвать RegexMatchTimeoutException исключение. Это исключение может быть вызвано, если значение времени ожидания для операций сопоставления действует, и попытка найти следующее совпадение превышает этот интервал времени ожидания.