Share via


ConfigurationElementCollectionBase<T>.IEnumerable.GetEnumerator Method

Definition

Returns an enumerator that iterates through the collection.

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

Returns

A IEnumerator interface that iterates through the collection.

Implements

Remarks

Rather than directly manipulating the enumerator, you should use the C# foreach statement (for each in C++, For Each in Visual Basic), which hides the complexity of the enumerators.

An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying, or deleting elements, the enumerator is irrecoverably invalidated and its behavior is undefined.

Enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions that result from changes made by other threads. To enable the collection to be accessed by multiple threads for reading and writing, you must implement your own synchronization.

For more information about using the enumerator, see the System.Collections.Generic.IEnumerator<T> interface.

Applies to