Created
August 18, 2014 16:01
-
-
Save Fhernd/6661bf76648aee7bfe2c to your computer and use it in GitHub Desktop.
Uso de iteradores para recorrer una colección.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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