繁体   English   中英

委托还是Lambda?

[英]Delegate or Lambda?

我刚刚购买了Xamarin学生版,并在入门教程中阅读。

我已经找到此代码示例

一个lambda表达式,如以下示例所示:

aButton.Click += (sender, e) => {
    aLabel.Text = "Hello from the button";
};

相反,我们可以使用带有委托语法的C#2.0匿名方法:

aButton.Click += delegate(object sender, EventArgs e) {
    aLabel.Text = "Hello from the button";
};

来源在这里

我的问题是

  1. 什么时候或为什么应该使用委托(是的,我确实阅读过C#文档)

  2. 在这种情况下哪个更好? lambda还是代表?

需要明确的是:我没有发现为什么应该使用第一种或第二种方法的代码没有问题。

没有区别!

C#2.0附带了匿名方法。 Labmda随附了C#3.0。

Labmda只是创建匿名方法(或取决于上下文的表达式树)的一种较短形式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM