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