两种表达方式之间有显著差异吗
本文关键字:表达方式 之间 两种 | 更新日期: 2023-09-27 18:25:30
我想知道使用Lambda表达式和委托匿名关键字类型之间是否有区别。一个比另一个更受欢迎吗?据我所见,两者似乎可以互换。
public delegate void SomeDel(string input);
public class myClass
{
private ObjWithDel myObj;
public myClass()
{
// Lambda Case
myObj.DoDel += (val)=>{textbox1.Text = val;}
// delegate keyword case
myObj.DoDel += delegate(string val){textbox1.Text = val;}
}
}
两者不同:lambda是一个"匿名"方法,它没有永久名称,而Delegate实际上是对方法或lambda的引用。大多数情况下,lambda会比代理更快,但在某些情况下,您只能使用代理或lambda,而不能使用两者。