Expresiones Lambda en C#
Las expresiones lambda son funciones anónimas muy concisas que se pueden definir inline para simplificar la escritura de delegados y métodos funcionales. Son ampliamente utilizadas en LINQ, eventos, delegados y programación funcional. Permiten escribir código más legible y compacto al evitar declaraciones de métodos innecesarios.
Sintaxis básica
La forma general de una lambda es (parametros) => expresión
.
Funccuadrado = x => x * x; Console.WriteLine(cuadrado(5)); // 25
Aquí, cuadrado
es un delegado que toma un entero y devuelve su cuadrado.
Lambdas con múltiples líneas
Puedes usar llaves para más lógica en el cuerpo.
Actionsaludar = nombre => { Console.WriteLine($"Hola, {nombre}!"); Console.WriteLine("Bienvenido a C#."); }; saludar("Alice");
Esto te permite escribir bloques de código más complejos inline.
Uso en LINQ
Las lambdas son esenciales en LINQ para filtros y proyecciones.
var numeros = new List{ 1, 2, 3, 4, 5 }; var pares = numeros.Where(n => n % 2 == 0); foreach (var p in pares) { Console.WriteLine(p); } // Salida: 2, 4
La expresión lambda se pasa como predicado a Where
.
Buenas Prácticas
Usa lambdas para simplificar código donde se usan delegados. Mantén las expresiones simples y legibles. Evita lógica compleja o anidada excesiva. Prefiere métodos con nombre si la lógica es demasiado grande o se reutiliza en varios lugares.