Partilhar via


SortedSet<T>.Enumerator Estrutura

Definição

Enumera os elementos de um SortedSet<T> objeto.

public: value class SortedSet<T>::Enumerator : System::Collections::Generic::IEnumerator<T>
public: value class SortedSet<T>::Enumerator : System::Collections::Generic::IEnumerator<T>, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Serializable]
public struct SortedSet<T>.Enumerator : System.Collections.Generic.IEnumerator<T>, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type SortedSet<'T>.Enumerator = struct
    interface IEnumerator<'T>
    interface IEnumerator
    interface IDisposable
type SortedSet<'T>.Enumerator = struct
    interface IEnumerator<'T>
    interface IEnumerator
    interface IDisposable
    interface IDeserializationCallback
    interface ISerializable
[<System.Serializable>]
type SortedSet<'T>.Enumerator = struct
    interface IEnumerator<'T>
    interface IDisposable
    interface IEnumerator
    interface ISerializable
    interface IDeserializationCallback
Public Structure SortedSet(Of T).Enumerator
Implements IEnumerator(Of T)
Public Structure SortedSet(Of T).Enumerator
Implements IDeserializationCallback, IEnumerator(Of T), ISerializable

Parâmetros de tipo

T
Herança
SortedSet<T>.Enumerator
Atributos
Implementações

Comentários

A foreach instrução da linguagem C# (For Each no Visual Basic) oculta a complexidade dos enumeradores. Portanto, o uso foreach é recomendado, em vez de manipular diretamente o enumerador.

Os enumeradores podem ser usados para ler os dados na coleção, mas não podem ser usados para modificar a coleção subjacente.

Inicialmente, o enumerador é posicionado antes do primeiro elemento da coleção. Nessa posição, a Current propriedade é indefinida. Portanto, você deve chamar o MoveNext método para avançar o enumerador para o primeiro elemento da coleção antes de ler o valor de Current.

Current retorna o mesmo objeto até MoveNext ser chamado. MoveNext define Current para o próximo elemento.

Se MoveNext passar o final da coleção, o enumerador será posicionado após o último elemento na coleção e MoveNext retornará false. Quando o enumerador está nessa posição, chamadas subsequentes para MoveNext também retornar false. Se a última chamada a ser MoveNext retornada false, Current será indefinida. Você não pode definir Current como o primeiro elemento da coleção novamente; você deve criar um novo objeto enumerador.

Um enumerador permanece válido enquanto a coleção permanecer inalterada. Se forem feitas alterações na coleção, como adicionar, modificar ou excluir elementos, o enumerador será invalidado irrecuperavelmente e a próxima chamada para MoveNext ou IEnumerator.Reset gerará um InvalidOperationException.

O enumerador não tem acesso exclusivo à coleção; portanto, enumerar por meio de uma coleção não é intrinsecamente um procedimento thread-safe. Para garantir a segurança do thread durante a enumeração, você pode bloquear a coleção durante toda a enumeração. Para permitir que a coleção seja acessada por vários threads para leitura e gravação, você deve implementar sua própria sincronização.

As implementações padrão de coleções no System.Collections.Generic namespace não são sincronizadas.

Propriedades

Nome Description
Current

Obtém o elemento na posição atual do enumerador.

Métodos

Nome Description
Dispose()

Libera todos os recursos usados pelo SortedSet<T>.Enumerator.

MoveNext()

Avança o enumerador para o próximo elemento da SortedSet<T> coleção.

Implantações explícitas de interface

Nome Description
IDeserializationCallback.OnDeserialization(Object)

Implementa a ISerializable interface e gera o evento de desserialização quando a desserialização é concluída.

IEnumerator.Current

Obtém o elemento na posição atual do enumerador.

IEnumerator.Reset()

Define o enumerador como sua posição inicial, que é antes do primeiro elemento na coleção.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Implementa a ISerializable interface e retorna os dados necessários para serializar a SortedSet<T> instância.

Aplica-se a