ImmutableList<T>.Enumerator Struct

Definition

Enumerates the contents of a binary tree.

NuGet package: System.Collections.Immutable (about immutable collections and how to install)

public: value class ImmutableList<T>::Enumerator : System::Collections::Generic::IEnumerator<T>
public struct ImmutableList<T>.Enumerator : System.Collections.Generic.IEnumerator<T>
type ImmutableList<'T>.Enumerator = struct
    interface IEnumerator<'T>
    interface IEnumerator
    interface IDisposable
Public Structure ImmutableList(Of T).Enumerator
Implements IEnumerator(Of T)

Type Parameters

T
Inheritance
ImmutableList<T>.Enumerator
Implements

Remarks

This structure should be kept synchronized with the other two binary tree enumerators: System.Collections.Immutable.ImmutableSortedDictionary<TKey,TValue>.Enumerator and System.Collections.Immutable.ImmutableSortedSet<T>.Enumerator.

Caution

When this enumerator is used as a value type (that is, when it isn't boxed), do not copy it by assigning it to a second variable or by passing it to another method. When this enumerator is disposed of, it returns a mutable reference type stack to a resource pool, and if the value type enumerator is copied (which can easily happen unintentionally if you pass the value around), there is a risk that a stack that has already been returned to the resource pool may still be in use by one of the enumerator copies, leading to data corruption or exceptions.

Properties

Current

Gets the element at the current position of the enumerator.

Methods

Dispose()

Releases the resources used by the current instance of the ImmutableList<T>.Enumerator class.

MoveNext()

Advances enumeration to the next element of the immutable list.

Reset()

Sets the enumerator to its initial position, which is before the first element in the immutable list.

Explicit Interface Implementations

IEnumerator.Current

The current element.

Applies to

Thread Safety

This type is thread safe.