Compartilhar via


MatchCollection.GetEnumerator Método

Definição

Fornece um enumerador iterado por meio da coleção.

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

Retornos

IEnumerator

Um objeto que contém todos os objetos Match dentro do MatchCollection.

Implementações

Exceções

Ocorreu um tempo limite.

Comentários

Em vez de chamar o GetEnumerator método para recuperar um enumerador que permite iterar por meio dos Match objetos na coleção, você deve usar o constructo de iteração de grupo (como foreach em C# e For Each...Next em Visual Basic) fornecido pela linguagem de programação.

Iterar os membros do MatchCollection objeto usando o GetEnumerator método (ou a foreach instrução em C# e a For Eachinstrução ...Next em Visual Basic) faz com que o mecanismo de expressão regular preencha a coleção conforme necessário usando uma avaliação lenta. Isso é análogo a chamar repetidamente o Regex.Match método e, em seguida, adicionar a correspondência resultante ao MatchCollection objeto. Por outro lado, o mecanismo de expressão regular usa a avaliação direta para preencher a coleção de uma só vez quando a Count propriedade é acessada. Esse pode ser um método muito mais caro de compilação da coleção do que uma avaliação lenta.

Como o MatchCollection objeto geralmente é preenchido usando uma avaliação lenta, tentar navegar até o próximo membro da coleção pode gerar uma RegexMatchTimeoutException exceção. Essa exceção poderá ser gerada se um valor de tempo limite para operações correspondentes estiver em vigor e a tentativa de localizar a próxima correspondência exceder esse intervalo de tempo limite.

Aplica-se a