AD

¿Ya dominas lo básico? Un curso estructurado de C# es la vía rápida para dar el salto.

Ver cursos de C# en Udemy

Enlace de afiliado. No te cuesta nada extra.

#️⃣Lecciones de C#
Lección 29 / 68

Funciones de orden superior (pasar una función como argumento)

En esta lección pasarás un comportamiento, y no solo un dato, a un método.

Se usan las expresiones lambda: x => x * 2. Se guardan en Func<entrada, salida> cuando devuelven algo, o en Action<T> cuando no.

El código de ejemplo aplica una operación recibida como argumento.

La distinción entre Func y Action es lo primero que hay que fijar: Func<int, int> toma un int y devuelve un int — el último parámetro genérico es siempre el resultado —, mientras que Action<int> toma un int y no devuelve nada. Y Predicate<T> es un Func<T, bool> con nombre propio.

Todo LINQ está construido sobre esto: cada Where, Select u OrderBy recibe una lambda. Entender esta lección es entender por qué LINQ puede hacer lo que hace.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar C# directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)