En .NET 4.0, tiene un método delegado incorporada:favor explicar acerca de Func delegado en .NET 4.0
public delegate TResult Func<in T, out TResult>(T arg);
Se utiliza en métodos extesion LINQ, ejemplo:
IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
I no entienden con claridad sobre Func delegado, ¿por qué no coincide con la siguiente expresión lambda que:
// p is a XElement object
p=>p.Element("firstname").Value.StartsWith("Q")
Si cambia la palabra 'método' para funcionar en este contexto, estaré de acuerdo con su respuesta y la votaré por encima. –
@Lajos no, sería ** incorrecto ** hacer eso; C# en particular * no tiene * funciones; un delegado como 'Func' se une a ** method **. –
Bueno, puede crear módulos donde puede agregar funciones que no son parte de ninguna clase, por lo tanto, C# también tiene funciones, no solo métodos. Estoy casi seguro (pero no probé) de que una función en un módulo puede ser un predicado. Sin embargo, podría estar equivocado en la segunda parte de este comentario. –