C# | Obtenga un enumerador que itere a través de SortedSet – Part 1

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

Sintaxis:

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

Valor devuelto: este método devuelve un enumerador que itera a través de SortedSet<T> en orden ordenado.

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

Ejemplo 1:

// C# code to get an IDictionaryEnumerator
// that iterates through the SortedSet
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a SortedSet of integers
        SortedSet<int> mySortedSet = new SortedSet<int>();
  
        // adding elements in mySortedSet
        mySortedSet.Add(2);
        mySortedSet.Add(4);
        mySortedSet.Add(6);
        mySortedSet.Add(8);
        mySortedSet.Add(10);
  
        // To get an Enumerator
        // for the SortedSet
        SortedSet<int>.Enumerator em = mySortedSet.GetEnumerator();
        display(em);
    }
  
    // display method
    static void display(IEnumerator<int> em)
    {
        while (em.MoveNext()) {
            int val = em.Current;
            Console.WriteLine(val);
        }
    }
}

Producción:

2
4
6
8
10

Ejemplo 2:

// C# code to get an IDictionaryEnumerator
// that iterates through the SortedSet
using System;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
  
        // Creating a SortedSet of integers
        SortedSet<string> mySortedSet = new SortedSet<string>();
  
        // adding elements in mySortedSet
        mySortedSet.Add("C#");
        mySortedSet.Add("PHP");
        mySortedSet.Add("HTML");
        mySortedSet.Add("Java");
        mySortedSet.Add("C++");
  
        // To get an Enumerator
        // for the SortedSet
        SortedSet<string>.Enumerator em = mySortedSet.GetEnumerator();
        display(em);
    }
  
    // display method
    static void display(IEnumerator<string> em)
    {
        while (em.MoveNext()) {
            string val = em.Current;
            Console.WriteLine(val);
        }
    }
}

Producción:

C#
C++
HTML
Java
PHP

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(log n).

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 *