MatchCollection.GetEnumerator 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供逐一查看集合的列舉值。
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 Each
Next
... 中的 Visual Basic) 程式設計語言所提供的 。
使用 GetEnumerator C# For Each
方法 (或 foreach
Visual Basic 中的 ... Next
語句來逐一查看 物件的成員 MatchCollection ,) 會導致正則運算式引擎視需要使用延遲評估來填入集合。 這類似于重複呼叫 Regex.Match 方法,然後將產生的相符專案新增至 MatchCollection 物件。 相反地,正則運算式引擎會使用直接評估,在存取屬性時 Count 一次填入集合。 這可以是比延遲評估更昂貴的方式來建置集合。
MatchCollection因為物件通常會使用延遲評估來填入,所以嘗試流覽至集合的下一個 RegexMatchTimeoutException 成員可能會擲回例外狀況。 如果相符作業的逾時值生效,而且嘗試尋找下一個相符專案超過該逾時間隔,就會擲回這個例外狀況。