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