[英]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.