MatchCollection.GetEnumerator Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.