首页 > 软件操作教程 > 编程开发 > C#
题目内容

C# 把Lambda表达式用于匿名方法

题目答案

    看一下Lambda表达式。Lambda.表达式是简化匿名方法的语法的一种方式。实际上,Lambda表达式还有其他用处,但为了简单起见,只介绍Lambda表达式的这个方面。使用Lambda表达式可以重写上一节最后的一段代码,如下所示:

    myTimer.Elapsed += (source,e) => WriteLine ("Event handler called after " + $"{ (source as Timer).Interval} milliseconds.");

    这段代码初看上去有点让人摸不着头脑(除非很熟悉所谓的函数式编程语言,如Lisp或Haskell)。但如果仔细观察,就会看出或至少推断出代码是如何工作的,它与所替代的匿名方法有什么关系。Lambda表达式由以下3个部分组成:

    • 放在括号中的参数列表(未类型化)

    • =>运算符 

    • C#语句

   使用前面“匿名类型”中介绍的逻辑,从上下文中推断出参数的类型。=>运算符只是把参数列表与表达式体分开。在调用Lambda表达式时,执行表达式体。

    编译器会提取这个Lambda表达式,创建一个匿名方法,其工作方式与匿名方法相同。其实,它会被编译为相同或相似的CIL代码。

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端