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,";
///匿名寫法
Func<string, string> anonDel = delegate(string param)
{
param += mid;
param += " And this was added to the string.";
return param;
};
///λ表達式寫法
Func<string, string> lambda = param =>
{
param += mid;
param += " And this was added to the string.";
return param;
};
///λ表達式寫法(整形)
Func<int, int> lambdaint = paramint =>
{
paramint = 5;
return paramint;
};
///λ表達式帶有兩個參數的寫法
Func<int, int, int> 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();