SortedDictionary<TKey,TValue>.ValueCollection.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 SortedDictionary<TKey,TValue>.ValueCollection.
public: value class SortedDictionary<TKey, TValue>::ValueCollection::Enumerator : System::Collections::Generic::IEnumerator<TValue>
public struct SortedDictionary<TKey,TValue>.ValueCollection.Enumerator : System.Collections.Generic.IEnumerator<TValue>
type SortedDictionary<'Key, 'Value>.ValueCollection.Enumerator = struct
interface IEnumerator<'Value>
interface IEnumerator
interface IDisposable
type SortedDictionary<'Key, 'Value>.ValueCollection.Enumerator = struct
interface IEnumerator<'Value>
interface IDisposable
interface IEnumerator
Public Structure SortedDictionary(Of TKey, TValue).ValueCollection.Enumerator
Implements IEnumerator(Of TValue)
Parâmetros de tipo
- TKey
- TValue
- Herança
- Implementações
Comentários
A foreach instrução do C# (For Each no Visual Basic) oculta a complexidade dos enumeradores. Portanto, o uso foreach é recomendado, em vez de manipular diretamente o enumerador. Esse tipo implementa a IEnumerator<T> interface.
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, Current é indefinido. 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.
A Current propriedade retorna o mesmo objeto até MoveNext ser chamada. 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 uma nova instância de 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 SortedDictionary<TKey,TValue>.ValueCollection.Enumerator. |
| MoveNext() |
Avança o enumerador para o próximo elemento do SortedDictionary<TKey,TValue>.ValueCollection. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| 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. |