Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created June 10, 2014 00:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Fhernd/a70939588c117ed318b6 to your computer and use it in GitHub Desktop.
Save Fhernd/a70939588c117ed318b6 to your computer and use it in GitHub Desktop.
Evolución de las expresiones lambda en Microsoft .NET Framework.
using System;
namespace Articulos.cap04
{
internal sealed class EvolucionExpresionesLambda
{
delegate int DelegadoCuadrado(int numero);
static int Cuadrado(int numero)
{
return numero * numero;
}
static void Main()
{
// C# 1.0: Uso de delegados
Console.WriteLine ("\n === C# 1.0: Uso de delegados === ");
DelegadoCuadrado dc1 = new DelegadoCuadrado(Cuadrado);
Console.WriteLine ("\t{0}", dc1(5).ToString());
// C# 2.0: Delegado con código de inicialización (métodos anónimos):
// uso de la palabra clave `delegate` con los tipos
// explítitos de los parámetros:
Console.WriteLine (" === C# 2.0: Delegado con código de inicialización (métodos anónimos) === ");
DelegadoCuadrado dc2 = delegate(int numero)
{
return numero * numero;
};
Console.WriteLine ("\t{0}", dc2(7).ToString());
// C# 3.0: Delegado con expresión lambda:
Console.WriteLine ("\n === C# 3.0: Delegado con expresión lambda ===");
DelegadoCuadrado cd3 = x => x * x;
Console.WriteLine ("\t{0}", cd3(11).ToString());
// C# 3.0: Delegado genérico integrado y expresión lambda:
// El delegado genérico Func<T, TResulta>:
Console.WriteLine ("\n === C# 3.0: Delegado genérico integrado y expresión lambda ===");
System.Func<int, int> cd4 = x => x * x;
Console.WriteLine ("\t{0}\n", cd4(13).ToString());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment