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# и For Each...Next в Visual Basic), предоставляемую языком программирования.

Итерация элементов MatchCollection объекта с помощью GetEnumerator метода (или foreach инструкции в C# и For Eachинструкции ...Next в Visual Basic) приводит к тому, что обработчик регулярных выражений заполняет коллекцию по мере необходимости с помощью отложенной оценки. Это аналогично многократному вызову Regex.Match метода, а затем добавлению результирующего совпадения к объекту MatchCollection . В отличие от этого, подсистема регулярных выражений использует прямую оценку для заполнения коллекции одновременно при Count доступе к свойству. Это может быть гораздо более дорогим методом построения коллекции, чем отложенная оценка.

MatchCollection Так как объект обычно заполняется с помощью отложенной оценки, попытка перейти к следующему члену коллекции может вызвать RegexMatchTimeoutException исключение. Это исключение может быть вызвано, если значение времени ожидания для операций сопоставления действует, и попытка найти следующее совпадение превышает этот интервал времени ожидания.

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