El método Hashtable.GetEnumerator se usa para devolver un IDictionaryEnumerator que itera a través de Hashtable.
Sintaxis:
public virtual System.Collections.IDictionaryEnumerator GetEnumerator ();
Valor devuelto: Devuelve un IDictionaryEnumerator para el Hashtable.
Los siguientes programas ilustran el uso del método Hashtable.GetEnumerator:
Ejemplo 1:
// C# code to get an IDictionaryEnumerator // that iterates through the Hashtable using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Hashtable named myhash Hashtable myhash = new Hashtable(); // Adding key/value pairs in myhash myhash.Add("A", "Apple"); myhash.Add("B", "Banana"); myhash.Add("C", "Cat"); myhash.Add("D", "Dog"); myhash.Add("E", "Elephant"); myhash.Add("F", "Fish"); // To get an IDictionaryEnumerator // for the Hashtable. IDictionaryEnumerator myEnumerator = myhash.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 (myEnumerator.MoveNext()) Console.WriteLine(myEnumerator.Key + " --> " + myEnumerator.Value); } }
Producción:
B --> Banana C --> Cat A --> Apple F --> Fish D --> Dog E --> Elephant
Ejemplo 2:
// C# code to get an IDictionaryEnumerator // that iterates through the Hashtable using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Hashtable named myhash Hashtable myhash = new Hashtable(); // Adding key/value pairs in myhash myhash.Add("I", "first"); myhash.Add("II", "second"); myhash.Add("III", "third"); myhash.Add("IV", "fourth"); myhash.Add("V", "fifth"); // To get an IDictionaryEnumerator // for the Hashtable. IDictionaryEnumerator myEnumerator = myhash.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 (myEnumerator.MoveNext()) Console.WriteLine(myEnumerator.Key + " --> " + myEnumerator.Value); } }
Producción:
III --> third IV --> fourth V --> fifth II --> second I --> first
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