1.匿名方法 匿名方法本质上是一个方法,只是没有名字,任何使用委托变量的地方都可以使用匿名方法赋值
Func
<int,int,int> plus
=delegate(int arg1
,int arg2
)
{
return arg1
+arg2
;
}
2.lambda表达式 用来代替匿名方法,所以一个lambda表达式也定义了一个方法。匿名方法都可以用lambda表达式来代替。
Func
<int, int, int> plus
= (arg1
, arg2
) =>
{
return arg1
+ arg2
;
};
Console
.WriteLine(plus(3,5));
Func<int,int> test2=a=>a+1; 相当于 Func<int,int> test2=(a)=> { return a+1; };
当lambda参数只有一个的时候,可以不加括号;语句只有一句的时候,可以不加大括号