C#匿名方法的作用
这篇文章主要介绍“C#匿名方法的作用”,在日常操作中,相信很多人在C#匿名方法的作用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#匿名方法的作用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在C# 1.1里,声明和使用委托要求你有委托和一个在委托被触发时具有匹配签名的能够执行的方法,以及一个将命名方法与委托关联的分配语句。作为C# 2.0的新特性,匿名方法基本上能够提供与先前命名方法相同的功能,但是它已经不再需要一个在关联到委托之前就明确创建的方法了。
你可以把C# 匿名方法想象为一个实现与委托进行关联这项功能的便捷途径。如果同时看一下匿名方法实现和命名方法实现所取得IL结果,你会发现这两者之间的差别非常小。当编译器碰到匿名方法的时候,它会在类里面创建一个命名方法,并将它与委托进行关联。所以匿名方法在运行期间与命名方法的性能非常类似——性能的增加体现在开发人员的生产效率上,而不是运行期间的执行上。
变量范围
任何在C# 匿名方法里声明的变量的范围都不会超出匿名方法的代码块。但是,C# 匿名方法确实具有访问它们代码块之外的变量的能力,只要这些变量在匿名方法所使用的范围里。这些变量被微软称为外部变量。下面显示了匿名方法如何引用外部变量:
#regionVariablescopeexample-Example2 privatedelegatevoidExample2(); privatevoidbtnExample2_Click(objectsender,EventArgse) { //Setupourparameters. stringfirstName="Zach"; stringlastName="Smith"; //CreateaninstanceoftheExample2delegatewithan //anonymousmethod. Example2example= newExample2( delegate(){ MessageBox.Show(firstName+""+lastName); }); //Executethedelegate. example(); }
到此,关于“C#匿名方法的作用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341