MatchCollection.IEnumerable<Match>.GetEnumerator 方法

定义

返回一个循环访问集合的枚举器。

 virtual System::Collections::Generic::IEnumerator<System::Text::RegularExpressions::Match ^> ^ System.Collections.Generic.IEnumerable<System.Text.RegularExpressions.Match>.GetEnumerator() = System::Collections::Generic::IEnumerable<System::Text::RegularExpressions::Match ^>::GetEnumerator;
System.Collections.Generic.IEnumerator<System.Text.RegularExpressions.Match> IEnumerable<Match>.GetEnumerator ();
abstract member System.Collections.Generic.IEnumerable<System.Text.RegularExpressions.Match>.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Text.RegularExpressions.Match>
override this.System.Collections.Generic.IEnumerable<System.Text.RegularExpressions.Match>.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Text.RegularExpressions.Match>
Function GetEnumerator () As IEnumerator(Of Match) Implements IEnumerable(Of Match).GetEnumerator

返回

用于循环访问集合的枚举数。

实现

例外

该集合是只读的。

注解

返回的 IEnumerator<T> 提供通过公开 Current 属性 来循环访问集合的功能。可以使用枚举器读取集合中的数据,但不能修改集合。 最初,枚举数定位在集合中第一个元素的前面。 在此位置上,未定义 Current。 因此,在读取 的值Current之前,必须调用 MoveNext 方法以将枚举器推进到集合的第一个元素。 Current 返回相同的 对象,直到 MoveNext 再次调用 作为 MoveNext 下一个元素的集 Current 。 如果 MoveNext 传递集合的末尾,则枚举器位于集合中的最后一个元素之后,并 MoveNext 返回 false。 当枚举器位于此位置时,对 MoveNext 的后续调用也会返回 false。 如果最后一次MoveNext调用返回,falseCurrent则为未定义。 无法再次将 Current 设置为集合的第一个元素;必须改为创建新的枚举器实例。 如果对集合进行了更改(例如添加、修改或删除元素),则枚举器的行为是未定义的。 枚举器对集合没有独占访问权限,因此只要集合保持不变,枚举器就保持有效。 如果对集合进行了更改(例如添加、修改或删除元素),枚举器将失效,并且可能会获得意外结果。 此外,枚举集合不是线程安全的过程。 若要保证线程安全,应在枚举器期间锁定集合或在集合上实现同步。 命名空间中 System.Collections.Generic 集合的默认实现不会同步。

适用于