在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