miércoles, 3 de abril de 2024

Parámetros opcionales en lambdas con C# 12

C#

Hoy va un post rápido sobre una característica de C# 12 que, aunque pequeña, nos puede resultar interesante en determinadas situaciones y puede pasar fácilmente desapercibida entre todas las demás novedades de esta versión del lenguaje.

Hasta C# 11 (.NET 7), no teníamos forma de definir una expresión lambda con parámetros opcionales y valores por defecto, como podemos hacer en los métodos o funciones normales, lo que complicaba la implementación de algunos escenarios.

A partir de C# 12 (.NET 8), podemos definir parámetros opcionales en expresiones lambda. La sintaxis es la que habitualmente usamos para definir parámetros opcionales en métodos, añadiendo un valor por defecto al parámetro en la definición de la expresión lambda, por lo que su uso nos resultará muy natural:

var sum = (int a, int b = 0) => a + b;
Console.WriteLine(sum(1, 2)); // Muestra "3".
Console.WriteLine(sum(1));    // Muestra "1". Usa el valor por defecto para el parámetro b

¡Espero que os resulte útil! :)

Publicado en Variable not found.

No hay comentarios:

Publicar un comentario