在.NET 4.0中,有一个内置的委托方法:
public delegate TResult Func<in T, out TResult>(T arg);
它被用于LINQ扩展方法中,例如:
IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
我不太清楚Func委托的作用,为什么以下Lambda表达式可以匹配它:
// p is a XElement object
p=>p.Element("firstname").Value.StartsWith("Q")
Func<T,TResult>
这样的委托绑定到一个 方法。 - Marc Gravell