程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> Expression<Func<T,TResult>>和Func<T,TResult>

Expression<Func<T,TResult>>和Func<T,TResult>

編輯:C#基礎知識

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();
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved