次の方法で共有


MatchCollection.GetEnumerator メソッド

定義

コレクションを反復処理する列挙子を提供します。

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

戻り値

Match 内にあるすべての MatchCollection オブジェクトを格納しているオブジェクト。

実装

例外

タイムアウトが発生しました。

注釈

メソッドをGetEnumerator呼び出してコレクション内のオブジェクトをMatch反復処理できる列挙子を取得する代わりに、プログラミング言語によって提供されるグループ反復コンストラクト (Visual Basic では C# や For Each...Nextなどforeach) を使用する必要があります。

メソッド (または foreach C# のステートメントと For EachVisual Basic の ...Next ステートメント) を使用してGetEnumeratorオブジェクトのMatchCollectionメンバーを反復処理すると、正規表現エンジンは、遅延評価を使用して、必要に応じて コレクションを設定します。 これは、 メソッドを繰り返し呼び出 Regex.Match し、結果の一致を オブジェクトに追加するの MatchCollection と似ています。 これに対し、正規表現エンジンは直接評価を使用して、 プロパティにアクセスしたときにコレクションをすべて一度に Count 設定します。 これは、遅延評価よりもコレクションを構築する方法の方がはるかに高価な場合があります。

MatchCollectionオブジェクトは通常、遅延評価を使用して設定されるため、コレクションの次のメンバーに移動しようとすると、例外がRegexMatchTimeoutExceptionスローされる可能性があります。 この例外は、一致操作のタイムアウト値が有効であり、次の一致を検索する試行がそのタイムアウト間隔を超えた場合にスローされる可能性があります。

適用対象