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