IDTSOutputColumnCollection100.GetEnumerator 方法

定义

public:
 System::Collections::IEnumerator ^ GetEnumerator();
[System.Runtime.InteropServices.DispId(-4)]
public System.Collections.IEnumerator GetEnumerator ();
[<System.Runtime.InteropServices.DispId(-4)>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

返回

IEnumerator

用于循环访问集合的 IEnumerator

实现

属性

注解

枚举器仅允许读取集合中的数据。 枚举器不能用于修改基础集合。

最初,枚举数定位在集合中第一个元素的前面。 Reset 还将枚举器恢复到此位置。 在此位置,调用 Current 会引发异常。 因此,在读取 当前 的值之前,必须调用 MoveNext ,以将枚举器前进到集合的第一个元素。

在调用 MoveNext重置 之前, Current 返回相同的对象。 MoveNext当前 设置为下一个元素。

在集合的末尾之后,枚举数将定位在集合中最后一个元素的后面,并且调用 MoveNext 将返回 false。 如果对 MoveNext 的最后一次调用返回 false,则调用 Current 会引发异常。 若要再次将 Current 设置为集合的第一个元素,可以调用 重置 后跟 MoveNext

只要集合保持不变,枚举器就仍有效。 如果对集合所做的更改(如添加、修改或删除元素),则枚举器将失效且不可恢复,并且下一次调用 MoveNextReset 会引发 InvalidOperationException。 如果在 MoveNextCurrent 之间修改集合,则 当前 将返回其设置为的元素,即使枚举器已失效。

枚举数没有对集合的独占访问权;因此,从头到尾对一个集合进行枚举在本质上不是一个线程安全的过程。 即使某个集合已同步,其他线程仍可以修改该集合,这会导致枚举数引发异常。 若要确保枚举过程中的线程安全性,可以在整个枚举期间锁定集合,或者捕获由其他线程进行的更改所导致的异常。

适用于