Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Método IEnumerator.MoveNext

Avança o enumerador para o próximo elemento da coleção.

Namespace:  System.Collections
Assembly:  mscorlib (em mscorlib.dll)

bool MoveNext()

Valor de retorno

Tipo: System.Boolean
true Se o enumerador foi avançado com êxito para o próximo elemento; false Se o enumerador passou o participante da coleção.

ExceçãoCondição
InvalidOperationException

A coleção foi modificada depois que o enumerador foi criado.

Depois que um enumerador for criado ou após o Reset método é chamado, um enumerador está posicionado antes do primeiro elemento da coleção e a primeira telefonar para o MoveNext método Move o enumerador sobre o primeiro elemento da coleção.

If MoveNext passa o participante da coleção, o enumerador está posicionado após o último elemento na coleção e MoveNext Retorna false. Quando o enumerador está nesta posição, as chamadas subseqüentes a MoveNext também retornará false até Reset é chamado.

Um enumerador permanece válido, desde que a coleção permaneça inalterada.Se forem feitas alterações da coleção, sistema autônomo adicionar, modificar, ou excluindo elementos, o enumerador é invalidado irrecoverably e o próximo telefonar para MoveNext ou Reset lança um InvalidOperationException.

O exemplo de código a seguir demonstra a implementação do IEnumerator interfaces para uma coleção personalizada. Neste exemplo, MoveNext não é explicitamente chamado, mas ele é implementado para dar suporte ao uso de foreach (for each no Visual Basic). Este exemplo de código faz parte de um exemplo maior para o IEnumerator interface.

publicclass PeopleEnum : IEnumerator
{
    public Person[] _people;

    // Enumerators are positioned before the first element// until the first MoveNext() call.int position = -1;

    public PeopleEnum(Person[] list)
    {
        _people = list;
    }

    publicbool MoveNext()
    {
        position++;
        return (position < _people.Length);
    }

    publicvoid Reset()
    {
        position = -1;
    }

    public object Current
    {
        get
        {
            try
            {
                return _people[position];
            }
            catch (IndexOutOfRangeException)
            {
                thrownew InvalidOperationException();
            }
        }
    }
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Compatível com: 3.5, 2.0, 1.0

XNA Framework

Compatível com: , 1.0

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft