PersonalizationStateInfoCollection.GetEnumerator メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim instance As PersonalizationStateInfoCollection Dim returnValue As IEnumerator returnValue = instance.GetEnumerator
public IEnumerator GetEnumerator ()
public: virtual IEnumerator^ GetEnumerator () sealed
public final IEnumerator GetEnumerator ()
public final function GetEnumerator () : IEnumerator
コレクションを反復処理するために使用できる IEnumerator。

列挙子を使用すると、コレクション内のデータを読み取ることができますが、基になるコレクションを変更することはできません。
最初に、列挙子はコレクションの最初の要素の前に配置されます。また、Reset メソッドは、列挙子を最初の位置に戻します。この位置で、Current プロパティが未定義です。したがって、Current の値を読み取る前に、MoveNext メソッドを呼び出して、コレクションの最初の要素に列挙子を進める必要があります。列挙子の詳細については、「IEnumerator」を参照してください。
コレクションが変更されない限り、列挙子は有効なままです。要素の追加、変更、削除などの変更がコレクションに対して実行されると、列挙子は回復不可能な無効状態になり、動作は未定義になります。
C# 言語の foreach ステートメント (Visual Basic の場合は for each) を使用することで列挙子の複雑さを回避できます。したがって、列挙子を直接操作するのではなく、foreach の使用をお勧めします。
列挙子には、コレクションへの排他的なアクセスがありません。したがって、コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。すべての列挙処理が終わるまでコレクションをロックすることにより、列挙処理でのスレッド セーフを確保できます。コレクションに対し複数のスレッドがアクセスして読み取りや書き込みを行うことができるようにするには、独自に同期化を実装する必要があります。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- PersonalizationStateInfoCollection.GetEnumerator メソッドのページへのリンク