Func<T, TResult> 委托
封装一个具有一个参数并返回 TResult 参数指定的类型值的方法。
public delegate TResult Func<in T, out TResult>(T arg)类型参数in T此委托封装的方法的参数类型。该类型参数是逆变的。即可以使用指定的类型或派生程度更低的类型。有关协变和逆变的更多信息,请参见泛型中的协变和逆变。out TResult此委托封装的方法的返回值类型。该类型参数是协变的。即可以使用指定的类型或派生程度更高的类型。有关协变和逆变的更多信息,请参见泛型中的协变和逆变。参数arg类型:T此委托封装的方法的参数。返回值类型:TResult此委托封装的方法的返回值。string mid = ",middle part,"; ///匿名写法 FuncanonDel = delegate(string param) { param += mid; param += " And this was added to the string."; return param; }; ///λ表达式写法 Func lambda = param => { param += mid; param += " And this was added to the string."; return param; }; ///λ表达式写法(整形) Func lambdaint = paramint => { paramint = 5; return paramint; }; ///λ表达式带有两个参数的写法 Func twoParams = (x, y) => { return x * y; }; string aa = anonDel("Start of string"); string bb = lambda("Lambda expression"); string cc = lambdaint(4).ToString(); string dd = twoParams(10, 20).ToString();