다음을 통해 공유


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

반환

IEnumerator

Match의 모든 MatchCollection 개체를 포함하는 개체입니다.

구현

예외

시간이 초과되었습니다.

설명

컬렉션의 개체를 반복 Match 할 수 있는 열거자를 검색하기 위해 메서드를 호출 GetEnumerator 하는 대신 그룹 반복 구문(예: foreach C# 및 For Each...Next in Visual Basic) provided by your programming language.

메서드(또는 foreach C#의 문 및 For EachVisual Basic ...Next문)를 사용하여 GetEnumerator 개체의 MatchCollection 멤버를 반복하면 정규식 엔진이 지연 평가를 사용하여 필요에 따라 컬렉션을 채웁니다. 이는 메서드를 반복적으로 호출 Regex.Match 한 다음 결과 일치 항목을 개체에 추가하는 것과 MatchCollection 유사합니다. 반면, 정규식 엔진은 직접 평가를 사용하여 속성에 액세스할 때 Count 컬렉션을 한 번에 모두 채웁니다. 이는 지연 평가보다 컬렉션을 빌드하는 데 훨씬 더 많은 비용이 들 수 있습니다.

개체는 MatchCollection 일반적으로 지연 계산을 사용하여 채워지므로 컬렉션의 다음 멤버로 이동하려고 하면 예외가 RegexMatchTimeoutException 발생할 수 있습니다. 일치 작업에 대한 제한 시간 값이 적용되고 다음 일치 항목을 찾으려는 시도가 해당 제한 시간 간격을 초과하는 경우 이 예외가 throw될 수 있습니다.

적용 대상