PersonalizationStateInfoCollection.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

实现

注解

枚举器可用于读取集合中的数据,但不能用于修改基础集合。

最初,枚举数定位在集合中第一个元素的前面。 方法 Reset 还会使枚举器回到此位置。 在此位置,属性 Current 未定义。 因此,在读取 的值Current之前,必须调用 MoveNext 方法来将枚举器推进到集合的第一个元素。 有关枚举器的详细信息,请参阅 IEnumerator

只要集合保持不变,枚举器就仍有效。 如果对集合进行更改(如添加、修改或删除元素),则枚举数将失效且不可恢复,而且其行为是不确定的。

C# 语言的 foreach 语句(在 Visual Basic 中为 for each)隐藏了枚举数的复杂性。 因此,建议使用 foreach,而不是直接操作枚举数。

枚举数没有对集合的独占访问权;因此,从头到尾对一个集合进行枚举在本质上不是一个线程安全的过程。 若要确保枚举过程中的线程安全性,可以在整个枚举过程中锁定集合。 若要允许多个线程访问集合以进行读写操作,则必须实现自己的同步。

适用于