这篇文章是为了让大家更明白lambda表达式的演变过程。
介绍
lambda表达式在C#里是比较简单的,但是对于初学者来说还是有些困难。这篇文章我将通过一个代码的演变过程来给初学者讲的明白点。
.NET 1.0
在.net1.0的时候,我们可以写下下面的代码
public Form1() { InitializeComponent(); this.button1.Click += new System.EventHandler(this.button1_Click); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("Hello Events"); }
.NET 2.0
在.NET 2.0中添加了匿名方法,我们可以如下简化代码
- 去掉方法名
- 不用添加Event Handler
也就是如下的样子.
public Form1() { InitializeComponent(); this.button1.Click += delegate (object sender, EventArgs e) { MessageBox.Show("Hello Events"); }; }
.NET 3.0
在.NET 3.0的时候,lambda语法使代码变的更简单了。
也就是如下的样子了
public Form1() { InitializeComponent(); this.button1.Click += (sender, e) => MessageBox.Show("Hello Events"); }