繁体   English   中英

表达体功能成员在C#6.0中的效率和性能

[英]Expression-bodied function members efficiency and performance in C# 6.0

在新的C#6.0中,我们可以使用lambda表达式定义方法和属性。

例如这个属性

public string Name { get { return First + " " + Last; } }

现在可以定义如下:

public string Name => First + " " + Last; 

有关表达式函数成员的信息,请访问: http//blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx

有没有人知道使用新语法时是否有任何开销? 它可以减慢(或提高效率)应用程序,或者它可能没关系?

在新的C#6.0中,我们可以使用lambda表达式定义方法和属性。

不,你不能。 您可以使用看起来像lambda表达式的语法来定义方法和属性主体,因为它使用了token =>

然而,更重要的,这并不意味着有参与委托类型。 (而lambda表达式只允许在转换为表达式树或委托类型的上下文中。)

这纯粹是语法糖。 您的两个示例代码段将编译为完全相同的IL。 只是表示属性getter或方法体的另一种方式。

他们将编译成相同的IL,您可以通过执行此操作并使用ildasm提取IL来自行测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM