El método List<T>.GetEnumerator se usa para devolver un enumerador que itera a través de List<T>.
Sintaxis:
public System.Collections.Generic.List<T>.Enumerator GetEnumerator ();
Valor devuelto: Devuelve un List<T>Enumerator para List<T>.
Los siguientes programas ilustran el uso del método List<T>.GetEnumerator:
Ejemplo 1:
// C# code to get an enumerator // that iterates through the List<T>. using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a List of int List<int> mylist = new List<int>(); // Inserting elements into List mylist.Add(45); mylist.Add(78); mylist.Add(32); mylist.Add(231); mylist.Add(123); mylist.Add(76); mylist.Add(726); mylist.Add(716); mylist.Add(876); // To get an Enumerator // for the List. List<int>.Enumerator em = mylist.GetEnumerator(); display(em); } // display method static void display(IEnumerator<int> em) { while (em.MoveNext()) { int val = em.Current; Console.WriteLine(val); } } }
Producción:
45 78 32 231 123 76 726 716 876
Ejemplo 2:
// C# code to get an enumerator // that iterates through the List<T>. using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a List of string List<string> mylist = new List<string>(); // Inserting elements into List mylist.Add("C#"); mylist.Add("Java"); mylist.Add("C"); mylist.Add("C++"); // To get an Enumerator // for the List. List<string>.Enumerator em = mylist.GetEnumerator(); display(em); } // display method static void display(IEnumerator<string> em) { while (em.MoveNext()) { string val = em.Current; Console.WriteLine(val); } } }
Producción:
C# Java C C++
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