Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created August 18, 2014 16:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fhernd/6661bf76648aee7bfe2c to your computer and use it in GitHub Desktop.
Save Fhernd/6661bf76648aee7bfe2c to your computer and use it in GitHub Desktop.
Uso de iteradores para recorrer una colección.
using System;
using System.Collections.Generic;
namespace Articulos.Cap04.Iteradores
{
public sealed class IteradorSerieFibonacci
{
public static void Main()
{
// El iterador se encarga de recorrer cada elemento
// generado por el método `Fibonacci`:
foreach (int fib in Fibonacci(7))
{
Console.Write ("{0} ", fib.ToString() );
}
Console.WriteLine ();
}
// Retorna elemento por elemento de la serie Fibonacci
// hasta la cantidad especificada en el argumento:
private static IEnumerable<int> Fibonacci(int numero)
{
// Por cada iteración retorna el valor de la serie actual,
// realiza los cálculos necesarios para generar el siguiente
// valor de la serie:
for (int i = 0, fibAnterior = 1, fibActual = 1; i < numero; ++i)
{
// Retorna el valor actual de la serie Fibonacci:
yield return fibAnterior;
int fibNuevo = fibAnterior + fibActual;
fibAnterior = fibActual;
fibActual = fibNuevo;
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment