SortedSet<T>.Enumerator Estrutura
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Enumera os elementos de um objeto SortedSet<T>.
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
- Atributos
- Implementações
Comentários
A instrução foreach
da linguagem C# (for each
em C++, For Each
no Visual Basic) oculta a complexidade de enumeradores. Portanto, o uso de 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. Por isso, você deve chamar o método MoveNext para avançar o enumerador até o primeiro elemento da coleção antes de ler o valor de Current.
Current retorna o mesmo objeto até MoveNext que seja chamado. MoveNext define Current como o próximo elemento.
Caso MoveNext passe o final da coleção, o enumerador é posicionado após o último elemento na coleção e MoveNext retorna false
. Quando o enumerador está nessa posição, as chamadas subsequentes para MoveNext também retornam false
. Caso a última chamada para MoveNext tenha retornado false
, Current está indefinido. Não é possível definir Current como o primeiro elemento da coleção novamente; em vez disso, você deve criar um novo objeto enumerador.
Um enumerador permanece válido desde que a coleção permaneça 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 acesso thread-safe durante a enumeração, é possível 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 namespace System.Collections.Generic não são sincronizadas.
Propriedades
Current |
Obtém o elemento na posição atual do enumerador. |
Métodos
Dispose() |
Libera todos os recursos usados pelo SortedSet<T>.Enumerator. |
MoveNext() |
Avança o enumerador para o próximo elemento da coleção SortedSet<T>. |
Implantações explícitas de interface
IDeserializationCallback.OnDeserialization(Object) |
Implementa a interface ISerializable e gera o evento de desserialização quando a desserialização for concluída. |
IEnumerator.Current |
Obtém o elemento na posição atual do enumerador. |
IEnumerator.Reset() |
Define o enumerador com sua posição inicial, que é antes do primeiro elemento da coleção. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Implementa a interface ISerializable e retorna os dados necessários para serializar a instância SortedSet<T>. |