Lambda表达式配合委托使用
1. Function<int,int,int> func = new Function<int,int,int>((int a,int b) => {return a+b;});
// 解释:就是定义了一个有返回值的委托对象 参数为 2个 int 返回值为 int
(int a,int b) => {return a+b;} 这段就是Lambda表达式,匿名方法
调用为: int sum = func(100,200);
语法糖写法:
1.Function<int,int,int> func = new Function<int,int,int>(( a, b) => {return a+b;});
2.Function<int,int,int> func =( a, b) => {return a+b;};
2.进阶写法 泛型委托 (泛型方法+泛型委托参数+委托参数)
static DosomeCalc(Func<t,t,t> func, T x, T y)
{
T res = func(x,y);
console.writeline(res);
return res;
}
// 定义了一个方法 ,方法参数为一个委托方法 ,委托方法里面有两个泛型变量一个泛型返回值,T x , T y 代表给前面func匿名方便变量赋值
使用: int sum = DoSomeCalc ((int a,int b)=>{ return a*b },5000,10);
简写: int sum = DoSomeCalc ((a,b)=>{ return a*b },5000,10);
//注意: 泛型T 第一个赋值后,后面必须同类型