Saltar al contenido

Delegados anónimos para C#

Una expresión Lambda es una función anónima que puede contener expresiones y declaraciones. También se utilizan para crear delegados o tipos de árboles de expresión. Las expresiones pueden ser desconcertantes, pero en pocas palabras, no son más que código representado como datos y objetos en una aplicación .NET.

Cuando la expresión Lambda se convierte en un árbol de expresión, el compilador no crea el Lenguaje Intermedio para ello. El compilador sólo crea el Lenguaje Intermedio que construirá el árbol de expresión que representa la misma lógica.

Delegados anónimos para C#
Delegados anónimos para C#

En cierto sentido, las expresiones Lambda son un reemplazo de los métodos anónimos, ya que añaden muchas características.

Hay dos conceptos muy importantes, uno es el uso de aparatos con expresiones Lambda y el otro es no usarlos. Cuando se crea una expresión Lambda con llaves se crea algo llamado declaración lambda . Al no usar llaves se crea la expresión lambda .

La expresión Lambda tiene la siguiente sintaxis.

1(parámetros de entrada)=>; expresión

csharp

La declaración lambda tiene la siguiente sintaxis.

1(input-parameters)={{{expresión ; expresión ; expresión ;}

csharp

Demostrémoslo con un pequeño código de ejemplo.

12345678910111213141516171819usando el Sistema;namespace lambd{classProgram{estaticvoidMain(string[] args){ Func<string,string> Welcome = nombre =§;{regresar $"¡Bienvenido {nombre} a las Guías Escritas! ";}; Func<int,int> enTriple = x => x*3; Console.WriteLine($" 3 x 5 = {enTriple(5)}"); Console.WriteLine(Welcome("Daniel")); Console.ReadKey();}}

csharp

La salida de la aplicación es la siguiente.

123 x 5=15Bienvenido Daniel a las Guías Escritas!

bash

La primera salida viene de la expresión definición de estilo lambda, y la otra viene de la declaración de definición de estilo lambda.