MatchCollection.GetEnumerator MatchCollection.GetEnumerator MatchCollection.GetEnumerator MatchCollection.GetEnumerator Method


コレクションを反復処理する列挙子を提供します。Provides an enumerator that iterates through the collection.

 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


Match 内にあるすべての MatchCollection オブジェクトを格納しているオブジェクト。An object that contains all Match objects within the MatchCollection.




GetEnumeratorメソッドを呼び出して、コレクション内のMatchオブジェクトを反復処理できる列挙子を取得するのではなく、グループforeach反復構造 ( C#やFor Eachなど) を使用する必要があります。NextInstead of calling the GetEnumerator method to retrieve an enumerator that lets you iterate through the Match objects in the collection, you should use the group iteration construct (such as foreach in C# and For EachNext Visual Basic)。プログラミング言語によって提供されます。in Visual Basic) provided by your programming language.

MatchCollection C# For Each foreachメソッドを使用してオブジェクトのメンバーを反復処理する (またはのステートメントと... GetEnumeratorNext Visual Basic) のステートメントを使用すると、正規表現エンジンは、レイジー評価を使用して必要に応じてコレクションにデータを設定します。Iterating the members of the MatchCollection object using the GetEnumerator method (or the foreach statement in C# and the For Each...Next statement in Visual Basic) causes the regular expression engine to populate the collection on an as needed basis using lazy evaluation. これは、 Regex.Matchメソッドを繰り返し呼び出し、結果として得られる一致をMatchCollectionオブジェクトに追加することに似ています。This is analogous to repeatedly calling the Regex.Match method, and then adding the resulting match to the MatchCollection object. これに対して、正規表現エンジンは直接評価を使用して、 Countプロパティにアクセスしたときにコレクションをすべて一度に設定します。In contrast, the regular expression engine uses direct evaluation to populate the collection all at once when the Count property is accessed. これは、レイジー評価よりもはるかに負荷の高い方法でコレクションを作成することができます。This can be a much more expensive method of building the collection than lazy evaluation.

通常、 RegexMatchTimeoutExceptionオブジェクトはレイジー評価を使用して設定されるため、コレクションの次のメンバーに移動しようとすると、例外がスローされる可能性があります。 MatchCollectionBecause the MatchCollection object is generally populated by using lazy evaluation, trying to navigate to the next member of the collection may throw a RegexMatchTimeoutException exception. この例外は、照合操作のタイムアウト値が有効であり、次の一致を検索する試みがタイムアウト間隔を超えた場合にスローされる可能性があります。This exception can be thrown if a time-out value for matching operations is in effect, and the attempt to find the next match exceeds that time-out interval.