次の方法で共有


ConfigurationElementCollectionBase<T>.IEnumerable.GetEnumerator メソッド

定義

コレクションを反復処理する列挙子を返します。

 virtual System::Collections::IEnumerator ^ System.Collections.IEnumerable.GetEnumerator() = System::Collections::IEnumerable::GetEnumerator;
System.Collections.IEnumerator IEnumerable.GetEnumerator ();
Function GetEnumerator () As IEnumerator Implements IEnumerable.GetEnumerator

戻り値

IEnumeratorコレクションを反復処理するインターフェイス。

実装

注釈

列挙子を直接操作するのではなく、列挙子の複雑さを隠す C# foreach ステートメント (for each Visual Basic では C++ For Each の場合) を使用する必要があります。

列挙子は、コレクションが変更されない限り有効です。 コレクションに対して変更 (要素の追加、変更、削除など) が行われると、列挙子は回復不可能な無効状態になり、その動作は未定義になります。

コレクションの列挙処理は、本質的にスレッドセーフな処理ではありません。 コレクションが同期されていても、他のスレッドがコレクションを変更する場合があり、このときは列挙子から例外がスローされます。 列挙時のスレッド セーフを保証するには、列挙全体の間にコレクションをロックするか、他のスレッドによって行われた変更によって発生する例外をキャッチします。 コレクションに読み取りと書き込みのために複数のスレッドからアクセスできるようにするには、独自の同期を実装する必要があります。

列挙子の使用の詳細については、 インターフェイスを System.Collections.Generic.IEnumerator<T> 参照してください。

適用対象