位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

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

提问人:刘团圆发布时间:2020-12-08

    看一下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)
返回顶部