有人向我提到,c#支持使用lambda表达式作为事件处理程序,有人可以给我提供一些参考资料吗?
最好附上代码片段。
您可以使用lambda表达式来构建匿名方法,并将其附加到事件上。
例如,如果您制作了一个带有Button
和Label
的Windows窗体,您可以在构造函数中(在InitializeComponent()
之后)添加以下代码:
this.button1.Click += (o,e) =>
{
this.label1.Text = "You clicked the button!";
};
每次单击按钮时,标签都会发生更改。
尝试这个例子
public Form1()
{
InitializeComponent();
this.button1.Click += new EventHandler(button1_Click);
}
void button1_Click(object sender, EventArgs e)
{
}
上述事件处理程序可以使用此lambda表达式重写
public Form1()
{
InitializeComponent();
this.button1.Click += (object sender, EventArgs e) = >
{
MessageBox.Show(“Button clicked!”);
};
}