1.匿名方法
本质上还是一个方法,任何使用委托的地方都能使用匿名方法赋值
1 例子: 2 //匿名方法也是使用delegate关键字 3 Func<int ,int ,int> = delegate (int _x,int _y) 4 { 5 return _x + _y; 6 };
2.Lambda表达式
可以作为匿名方法代替
例子:
1 //匿名方法 2 Func<int ,int ,int> = delegate (int _x,int _y) 3 { 4 return _x + _y; 5 }; 6 //Lambda表达式,没了关键字 7 Func<int ,int ,int> = ( _x , _y)=> 8 { 9 return _x + _y; 10 };
PS:只要是委托就能用匿名,只要是匿名就能用Lambda表达式
PS:当函数参数只有一个的时候,可以不加上小括号:Func<int,int> a = b=>{return b};
当函数体的语句只有一句的时候,可以不加大括号,也可以不叫上return:Func<int ,int> a = b=>b;