关于Lambda表达式
2009-03-31 08:21:48 来源:WEB开发网核心提示: C#3.0使用Lambda表达式:1using System;2using System.Collections.Generic;3using System.Linq;4using System.Text;56namespace ConsoleApplication37{8 public
C#3.0使用Lambda表达式:
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6namespace ConsoleApplication3
7{
8 public delegate int Calculate(int a, int b);
9 class Program
10 {
11
12 static void Main(string[] args)
13 {
14 int a = 3;
15 int b = 4;
16 Calculate result = (ta, tb) => ta + tb;
17 Console.WriteLine(result(a,b));
18 Console.Read();
19 }
20
21 }
22}
23
使用Lambda表达式更简洁,为什么那么简洁.其实是编译器为我们做了很多事情.
Calculate result = (ta, tb) => ta + tb;
这句话 编译器在编译的时候 会为我们生成一个私有的静态方法.透过ILDASM可以看到它是怎么帮助我们的,
图片看不清楚?请点击这里查看原图(大图)。
编译器为我们声明声明了一个私有静态的Calculate委托字段 和一个静态的私有方法.
通过IL代码可以看看Main方法内部是怎么实现的
更多精彩
赞助商链接