Freigeben über


MatchCollection.GetEnumerator Methode

Definition

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

IEnumerator

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.

Gilt für