Closures en C#


Para empezar el año y mientras esperamos la llegada de Marty McFly, un minipost sobre closures, una estructura imprescindible en JavaScript y otros lenguajes funcionales, pero ¿las podemos hacer en C#? Y la respuesta es:
¡Por supuesto! Y aquí tenéis un ejemplo:

public static Func<int> Fib()
{
    int a = 0, b = 1;
    return () => { var temp = b; b = a + b; return a=temp; };
}

static void Main(string[] args)
{
    var fib=Fib();

    for (int i = 0; i < 12;i++ )
        Console.Write("{0} ", fib());
}

Como veis el uso de funciones anónimas nos ayuda mucho. El ejemplo lo he sacado de otro lenguaje sobre el que estaba leyendo. Yo ahora me voy a buscar un monopatín 😉

Anuncios

Un Comentario

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s