匿名方法
匿名方法(Anonymous methods)提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 语句推断的。
为什么要用匿名方法?
使用匿名方法可以减少一些工作量,简单点来说,就是提升效率,而且在某些场景还很方便(请看运用场景标题目录)。
- 提升效率
- 临时变量局部化
- 方便
- 该方法使用的地方很少,基本上就一处调用
实操-两种匿名方法
那么接下来我们就来简单的看一下匿名方法。匿名方法有两种。
- 代理匿名
- Lambda匿名
其中Lambda是比代理匿名更加简洁的匿名方法
using System;
namespace AnonymousMethods
{
public delegate void DelegateExample(int a, int b);
internal class Program
{
public static void TestFunc(int a, int b)
{
Console.WriteLine("我是普通方法");
Console.WriteLine("a:{0}",a);
Console.WriteLine("b:{0}",b);
}
public static void Main(string[] args)
{
int x = 100;
DelegateExample example = delegate(int a, int b)
{
Console.WriteLine("我是匿名方法");
Console.WriteLine("a:{0}",a);
Console.WriteLine("b:{0}",b);
Console.WriteLine("x:{0}",x);
x += 100;
};
example += TestFunc;
example += (int a, int b) =>
{
Console.WriteLine("我也是匿名方法,但是我是Lambda");
Console.WriteLine("a:{0}",a);
Console.WriteLine("b:{0}",b);
Console.WriteLine("x:{0}",x);
};
example(10, 20);
}
}
}