Advertisement
Fhernd

EvolucionMetodosAnonimos.cs

Jul 26th, 2014
727
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.69 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Articulos.cap04
  4. {
  5.     internal sealed class EvolucionMetodosAnonimos
  6.     {
  7.         delegate int DelegadoCuadrado(int numero);
  8.          
  9.         static int Cuadrado(int numero)
  10.         {
  11.             return numero * numero;
  12.         }
  13.          
  14.         static void Main()
  15.         {
  16.             // C# 1.0: Uso de delegados
  17.             Console.WriteLine ("\n === C# 1.0: Uso de delegados === ");
  18.             DelegadoCuadrado dc1 = new DelegadoCuadrado(Cuadrado);
  19.             Console.WriteLine ("\t{0}", dc1(5).ToString());
  20.              
  21.             // C# 2.0: Delegado con código de inicialización (métodos anónimos):
  22.             // uso de la palabra clave `delegate` con los tipos
  23.             // explítitos de los parámetros:
  24.             Console.WriteLine (" === C# 2.0: Delegado con código de inicialización (métodos anónimos) === ");
  25.             DelegadoCuadrado dc2 = delegate(int numero)
  26.             {
  27.                 return numero * numero;
  28.             };
  29.             Console.WriteLine ("\t{0}", dc2(7).ToString());
  30.              
  31.             // C# 3.0: Delegado con expresión lambda:
  32.             Console.WriteLine ("\n === C# 3.0: Delegado con expresión lambda ===");
  33.             DelegadoCuadrado cd3 = x => x * x;
  34.             Console.WriteLine ("\t{0}", cd3(11).ToString());
  35.              
  36.             // C# 3.0: Delegado genérico integrado y expresión lambda:
  37.             // El delegado genérico Func<T, TResulta>:
  38.             Console.WriteLine ("\n === C# 3.0: Delegado genérico integrado y expresión lambda ===");
  39.             System.Func<int, int> cd4 = x => x * x;
  40.             Console.WriteLine ("\t{0}\n", cd4(13).ToString());
  41.         }
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement