El método Stack<T>.GetEnumerator se usa para obtener un IEnumerator que itera a través de la pila. Y viene bajo el espacio de System.Collections.Generic
nombres.
Sintaxis:
public System.Collections.Generic.Stack<T>.Enumerator GetEnumerator ();
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
// C# program to illustrate the // Stack<T>.GetEnumerator Method using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a Stack of strings Stack<string> myStack = new Stack<string>(); // Inserting the elements into the Stack myStack.Push("Geeks"); myStack.Push("Geeks Classes"); myStack.Push("Noida"); myStack.Push("Data Structures"); myStack.Push("GeeksforGeeks"); // To get an Enumerator // for the Stack IEnumerator<string> enumerator = myStack.GetEnumerator(); // If MoveNext passes the end of the // collection, the enumerator is positioned // after the last element in the Stack // and MoveNext returns false. while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current); } } }
Producción:
GeeksforGeeks Data Structures Noida Geeks Classes Geeks
Ejemplo 2:
// C# code to illustrate the // Stack<T>.GetEnumerator Method using System; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating a Stack of integers Stack<int> myStack = new Stack<int>(); // Inserting the elements into the Stack myStack.Push(2); myStack.Push(3); myStack.Push(4); myStack.Push(5); myStack.Push(6); // To get an Enumerator // for the Stack IEnumerator<int> enumerator = myStack.GetEnumerator(); // If MoveNext passes the end of the // collection, the enumerator is positioned // after the last element in the Stack // and MoveNext returns false. while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current); } } }
Producción:
6 5 4 3 2
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