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


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

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