在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。 这只是表示属性获取方法或方法体的一种不同方式。


他们将编译到相同的IL,你可以通过执行它并使用ildasm来提取IL。

链接地址: http://www.djcxy.com/p/75173.html

上一篇: bodied function members efficiency and performance in C# 6.0

下一篇: What is the => assignment in C# in a property signature