Condividi tramite


MatchCollection.GetEnumerator Metodo

Definizione

Fornisce un enumeratore che scorre la raccolta.

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

Restituisce

Oggetto contenente tutti gli oggetti Match all'interno di MatchCollection.

Implementazioni

Eccezioni

Si è verificato un timeout.

Commenti

Anziché chiamare il metodo per recuperare un enumeratore che consente di eseguire l'iterazione degli Match oggetti nell'insieme, è consigliabile usare il GetEnumerator costrutto di iterazione del gruppo (ad esempio foreach in C# e For Each...Next in Visual Basic) fornito dal linguaggio di programmazione.

L'iterazione dei membri dell'oggetto MatchCollection usando il GetEnumerator metodo (o l'istruzione foreach in C# e l'istruzione For Each...Next in Visual Basic) causa la popolamento della raccolta in base alle esigenze usando la valutazione lazy. Questo è analogo a chiamare ripetutamente il Regex.Match metodo e quindi aggiungere la corrispondenza risultante all'oggetto MatchCollection . Al contrario, il motore di espressioni regolari usa la valutazione diretta per popolare l'insieme all'accesso alla Count proprietà. Questo può essere un metodo molto più costoso per la compilazione della raccolta rispetto alla valutazione lazy.

Poiché l'oggetto MatchCollection viene generalmente popolato usando la valutazione lazy, il tentativo di passare al membro successivo della raccolta può generare un'eccezione RegexMatchTimeoutException . Questa eccezione può essere generata se un valore di timeout per le operazioni corrispondenti è effettivo e il tentativo di trovare la corrispondenza successiva supera l'intervallo di timeout.

Si applica a