WEB开发网
开发学院软件开发C语言 关于Lambda表达式 阅读

关于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可以看到它是怎么帮助我们的,

关于Lambda表达式

图片看不清楚?请点击这里查看原图(大图)。 

编译器为我们声明声明了一个私有静态的Calculate委托字段 和一个静态的私有方法.

通过IL代码可以看看Main方法内部是怎么实现的

Tags:关于 Lambda 表达式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接