google analytics

viernes, 6 de julio de 2012

IEnumerator usando .MoveNext() y .MoveCurren()

Jugando la otra vez a hacer iteraciones me encontre con la interfaz IEnumerator la cual tienes dos funciones que me parecieron interesantes y he aquí el post.

Las funciones .MoveNext() y .MoveCurrent() sirven para hacer una iteración dentro de una colección genérica, .MoveNext() nos indica a través de un booleano si la colección tiene más elementos para recorrer y la función .MoveCurrent() me devuelve el item actual dentro de la iteracíón.

He aquí el código en una aplicación de consola:
static void Main(string[] args)
        {
            Console.WriteLine("Ingrese una secuencia de caracteres separadas por comas...");
            var readLine = Console.ReadLine();

            if (!string.IsNullOrEmpty(readLine))
            {
                string[] valores = readLine.Split(',');

                IEnumerable characters = readLine.Split(',');

                using (IEnumerator enums = characters.GetEnumerator())
                {
                    while (enums.MoveNext())
                    {
                        Console.WriteLine(enums.Current);
                    }
                }
            }

            Console.ReadKey();
        }

Y el resultado es el siguiente :


Se pudo haber hecho con un foreach??? ... ps si =)... pero aquí tienes otra forma de hacerlo =)

3 comentarios:

  1. Pobre!! Nadie te deja comentarios!! Yo seré la primera =)) Besitos :*** Te amo!!

    ResponderEliminar
  2. Hace como 5 años deje de programar en .NET ahora que estoy de regreso, este blog me servirá mucho..

    Muy buenos apuntes, viejo!

    Saludos!

    ResponderEliminar
    Respuestas
    1. Muchas gracias, estas últimas semanas he estado muy ocupado con temas de trabajo pero espero retomar pronto el blog. Un saludo!

      Eliminar