Created
June 10, 2014 00:23
-
-
Save Fhernd/a70939588c117ed318b6 to your computer and use it in GitHub Desktop.
Evolución de las expresiones lambda en Microsoft .NET Framework.
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; | |
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