MatchCollection.GetEnumerator Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt einen Enumerator bereit, der die Auflistung durchläuft.
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
Gibt zurück
Ein Objekt, das alle Match-Objekte innerhalb von MatchCollection enthält.
Implementiert
Ausnahmen
Es ist ein Timeout aufgetreten.
Hinweise
Anstatt die GetEnumerator Methode aufzurufen, um einen Aufzählungsator abzurufen, mit dem Sie die Match Objekte in der Auflistung iterieren können, sollten Sie das Gruppen iterationskonstrukt verwenden (z foreach
. B. in C# und For Each
...Next
in Visual Basic) bereitgestellt von Ihrer Programmiersprache.
Durch das Iterieren der Elemente des MatchCollection Objekts mithilfe GetEnumerator der Methode (oder foreach
der Anweisung in C# und derNext
For Each
... -Anweisung in Visual Basic) wird das reguläre Ausdrucksmodul zur Auffüllung der Auflistung anhand der lazy-Auswertung auf bedarfsbezogener Basis verursacht. Dies ist analog zum wiederholten Aufrufen der Regex.Match MatchCollection Methode, und fügen Sie dann die resultierende Übereinstimmung zum Objekt hinzu. Im Gegensatz dazu verwendet das reguläre Ausdrucksmodul die direkte Auswertung, um die Auflistung gleichzeitig aufzufüllen, wenn auf die Count Eigenschaft zugegriffen wird. Dies kann eine viel teurere Methode zum Erstellen der Sammlung sein als lazy Bewertung.
Da das Objekt in der MatchCollection Regel mit lazyer Auswertung gefüllt wird, wird versucht, zum nächsten Element der Auflistung zu navigieren, kann eine RegexMatchTimeoutException Ausnahme auslösen. Diese Ausnahme kann ausgelöst werden, wenn ein Timeoutwert für Übereinstimmungsvorgänge wirksam ist, und der Versuch, das nächste Übereinstimmungsintervall zu finden, überschreitet dieses Timeoutintervall.