lambda的Func<>函数

Func<int,int,int> fc=(int x,int y)=>x*y;
Console.WriteLine(fc(5, 2));
//声明一个方法,返回值为int,参数是两个int。功能是计算两个整数的乘积。



 IList<int> list = Enumerable.Range(1, 100).ToList();
 Func<int, bool> myDel = delegate(int x) { return x % 2 == 1; };//委托匿名方法
 var countOdd1 = list.Count(myDel);//调用委托
 var countOdd2 = list.Count(x => x % 2 == 1);//Lambda表达式
 Console.WriteLine("委托参数得到奇数的个数:{0}",countOdd1);
 Console.WriteLine("Lambda得到奇数的个数:{0}", countOdd2);


    // 摘要:
    //     封装一个具有一个参数并返回 TResult 参数指定的类型值的方法。
    //
    // 参数:
    //   arg:
    //     此委托封装的方法的参数。
    //
    // 类型参数:
    //   T:
    //     此委托封装的方法的参数类型。
    //
    //   TResult:
    //     此委托封装的方法的返回值类型。
    //
    // 返回结果:
    //     此委托封装的方法的返回值。
    [TypeForwardedFrom("System.Core, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089")]
    public delegate TResult Func<in T, out TResult>(T arg);

 

posted @ 2015-07-28 10:32  天涯过者  阅读(930)  评论(0编辑  收藏  举报