C# | Obtenga un enumerador que itere a través de stringDictionary

El método StringDictionary.GetEnumerator se usa para devolver un enumerador que itera a través del diccionario de strings.

Sintaxis:

public virtual System.Collections.IEnumerator GetEnumerator ();

Valor devuelto: un IEnumerator que itera a través del diccionario de strings.

A continuación se dan algunos ejemplos para entender la implementación de una mejor manera:

Ejemplo 1:

// C# code to get an enumerator
// that iterates through the stringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a StringDictionary named myDict
        StringDictionary myDict = new StringDictionary();
  
        // Adding key and value into the StringDictionary
        myDict.Add("A", "Apple");
        myDict.Add("B", "Banana");
        myDict.Add("C", "Cat");
        myDict.Add("D", "Dog");
  
        // "IEnumerator" interface supports a simple
        // iteration over a non-generic collection.
        IEnumerator myEnumerator = myDict.GetEnumerator();
  
        DictionaryEntry de;
  
        // "MoveNext" advances the enumerator
        // to the next element of the collection.
        // you must call "MoveNext" to advance the
        // enumerator to the first element of the
        // collection before reading the value of "Current"
        while (myEnumerator.MoveNext()) {
  
            // "Current" returns the same object until
            // either "MoveNext" is called.
            // "MoveNext" sets "Current" to the next element.
            de = (DictionaryEntry)myEnumerator.Current;
            Console.WriteLine(de.Key + " " + de.Value);
        }
    }
}

Producción:

d Dog
b Banana
c Cat
a Apple

Ejemplo 2:

// C# code to get an enumerator
// that iterates through the stringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a StringDictionary named myDict
        StringDictionary myDict = new StringDictionary();
  
        // Adding key and value into the StringDictionary
        myDict.Add("I", "one");
        myDict.Add("II", "two");
        myDict.Add("III", "three");
        myDict.Add("IV", "four");
        myDict.Add("V", "five");
  
        // "IEnumerator" interface supports a simple
        // iteration over a non-generic collection.
        IEnumerator myEnumerator = myDict.GetEnumerator();
  
        DictionaryEntry de;
  
        // "MoveNext" advances the enumerator
        // to the next element of the collection.
        // you must call "MoveNext" to advance the
        // enumerator to the first element of the
        // collection before reading the value of "Current"
        while (myEnumerator.MoveNext()) {
  
            // "Current" returns the same object until
            // either "MoveNext" is called.
            // "MoveNext" sets "Current" to the next element.
            de = (DictionaryEntry)myEnumerator.Current;
            Console.WriteLine(de.Key + " " + de.Value);
        }
    }
}

Producción:

iv four
i one
iii three
v five
ii two

Nota:

  • Los enumeradores se pueden usar para leer los datos de la colección, pero no se pueden usar para modificar la colección subyacente.
  • 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 Sahil_Bansall 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 *