在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#匿名方法
当前地址:http://www.mswzjz.cn/qtweb/news29/507979.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能