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

C# Lambda表达式的参数

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

    在前面的代码中,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)
返回顶部