介绍
Lambda一般是和事件和委托一起使用
格式
(参数列表) => { 函数体; }
通常参数可以省略类型定义
如果只有一个参数,那么省略()
如果方法体只有一句可以省略{}和return
namespace Combine{
class Program{
static void Main(string[] args)
{
//缩减版本
//Func<int,int,int> func = (a,b) => {return a+b;};
Func<int,int,int> func = new Func<int,int,int>((int a,int b) => {return a+b;});
int res = func(100,200);
Console.WriteLine(res);
func = new Func<int,int,int>((int x,int y) => {return x*y});
res = func(3,4);
Console.WriteLine(res);
]
}
}
namespace Combine{
class Program{
static void Main(string[] args)
{
DoSomeCalc<int>((int a,int b) => {return a*b;},100,200);
}
static void DoSomeCalc<T>(Func<T,T,T> func,T x, T y) //如果这里不填委托的话,lambda就不能为参数
{
T res = func(x,y);
Console.WriteLine(res);
}
}
}