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


    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();
    

      

  • 相关阅读:
    C++primer plus第六版课后编程题答案7.2
    sprintf函数
    sscanf函数
    [转]Visual Studio 2012 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案
    C/C++动态二维数组的内存分配和释放
    malloc动态分配多维数组
    区间重合判断[poj2808 校门外的树]
    C++中的sort函数
    C语言qsort
    [转]Linux统计代码行数
  • 原文地址:https://www.cnblogs.com/wolfocme110/p/5349002.html
Copyright © 2020-2023  润新知