共用方式為


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 集合中的物件,而是應該使用群組反復專案建構 (,例如 foreach C# 和 For EachNext ... 中的 Visual Basic) 程式設計語言所提供的 。

使用 GetEnumerator C# For Each 方法 (或 foreach Visual Basic 中的 ... Next 語句來逐一查看 物件的成員 MatchCollection ,) 會導致正則運算式引擎視需要使用延遲評估來填入集合。 這類似于重複呼叫 Regex.Match 方法,然後將產生的相符專案新增至 MatchCollection 物件。 相反地,正則運算式引擎會使用直接評估,在存取屬性時 Count 一次填入集合。 這可以是比延遲評估更昂貴的方式來建置集合。

MatchCollection因為物件通常會使用延遲評估來填入,所以嘗試流覽至集合的下一個 RegexMatchTimeoutException 成員可能會擲回例外狀況。 如果相符作業的逾時值生效,而且嘗試尋找下一個相符專案超過該逾時間隔,就會擲回這個例外狀況。

適用於