C# | Obtenga un enumerador que itere a través de Collection<T>

Collection<T>.GetEnumerator Method se usa para obtener un enumerador que itera a través de Collection<T> .

Sintaxis:

public System.Collections.Generic.IEnumerator<T> GetEnumerator ();

Valor devuelto: este método devuelve un IEnumerator<T> para la colección<T>.

Los siguientes programas ilustran el uso del método discutido anteriormente:

Ejemplo 1:

// C# code to get an Enumerator that
// iterates through the Collection<T>
using System;
using System.Collections.ObjectModel;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Creating a collection of strings
        Collection<string> myColl = new Collection<string>();
  
        myColl.Add("A");
        myColl.Add("B");
        myColl.Add("C");
        myColl.Add("D");
        myColl.Add("E");
  
        // Displaying the number of elements in Collection
        Console.WriteLine("The number of elements in myColl are: "
                                                  + myColl.Count);
  
        // To get an Enumerator
        // for the Collection
        var enumerator = myColl.GetEnumerator();
  
        // If MoveNext passes the end of the
        // collection, the enumerator is positioned
        // after the last element in the collection
        // and MoveNext returns false.
        while (enumerator.MoveNext()) {
  
            Console.WriteLine(enumerator.Current);
        }
    }
}
Producción:

The number of elements in myColl are: 5
A
B
C
D
E

Ejemplo 2:

// C# code to get an Enumerator that
// iterates through the Collection<T>
using System;
using System.Collections.ObjectModel;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a collection of integers
        Collection<int> myColl = new Collection<int>();
  
        myColl.Add(45);
        myColl.Add(56);
        myColl.Add(78);
        myColl.Add(75);
  
        // Displaying the number of elements in Collection
        Console.WriteLine("The number of elements in myColl are: "
                                                  + myColl.Count);
  
        // To get an Enumerator
        // for the Collection
        var enumerator = myColl.GetEnumerator();
  
        // If MoveNext passes the end of the
        // collection, the enumerator is positioned
        // after the last element in the collection
        // and MoveNext returns false.
        while (enumerator.MoveNext()) {
  
            Console.WriteLine(enumerator.Current);
        }
    }
}
Producción:

The number of elements in myColl are: 4
45
56
78
75

Nota:

  • La instrucción foreach del lenguaje C# oculta la complejidad de los enumeradores. Por lo tanto, se recomienda usar foreach , en lugar de manipular directamente el enumerador.
  • Los enumeradores se pueden usar para leer los datos de la colección, pero no se pueden usar para modificar la colección subyacente.
  • Current devuelve el mismo objeto hasta que se llama MoveNext o Reset . MoveNext establece Current en el siguiente elemento.
  • Un enumerador sigue siendo válido mientras la colección permanezca sin cambios. Si se realizan cambios en la colección, como agregar, modificar o eliminar elementos, el enumerador se invalida irremediablemente y su comportamiento no está definido.
  • Este método es una operación O(1).

Referencia:

Publicación traducida automáticamente

Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *