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

C# Lambda表达式的参数

题目答案

    在前面的代码中,Lambda表达式使用类型推理功能来确定所传递的参数类型。实际上这不是必需的,也可以定义类型。例如,可使用下面的Lambda表达式:

    (int paramA, int paramB) => paramA + paramB

    其优点是代码更便于理解,缺点是不够简明灵活。在前面委托类型的示例中,可以通过隐式类型化的Lambda表达式来使用其他数字类型,例如,long变量。

    注意,不能在同一个Lambda表达式中同时使用隐式和显式的参数类型。下面的Lambda表达式就不会编译,因为paramA是显式类型化的,而paramB是隐式类型化的:

    (int paramA, paramB) => paramA + paramB

    Lambda表达式的参数列表始终包含一个用逗号分隔的列表,其中的参数要么都是显式类型化的,要么都是隐式类型化的。如果只有一个隐式类型化的参数,就可以省略括号;否则就需要在参数列表上加上括号,如前面所示。例如,下面的Lambda表达式只有一个参数,且是隐式类型化的:

    paraml => paraml * paraml

还可以定义没有参数的Lambda表达式,这使用空括号来表示:

    ()=> Math.PI

当委托不需要参数,但需要返回一个double值时,就可以使用这个Lambda表达式。

网友评论(共0条评论)

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

最新评论

点击加载更多评论>>

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

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

相关视频试题

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

去 App Store 免费下载 iOS 客户端