这篇文章是为了让大家更明白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

1

也就是如下的样子.

public Form1()
{
   InitializeComponent();
   this.button1.Click += delegate (object sender, EventArgs e)
                         {
                             MessageBox.Show("Hello Events");
                         };
}

 

.NET 3.0

在.NET 3.0的时候,lambda语法使代码变的更简单了。

2

也就是如下的样子了

public Form1()
{
   InitializeComponent();
   this.button1.Click += (sender, e) => MessageBox.Show("Hello Events");
 }