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

有谁知道使用新语法时是否有任何开销?它会减慢(或提高应用程序的效率)还是无关紧要?

In a new C# 6.0 we can define methods and properties using lambda expressions.

不,你不能。您可以使用 看起来 类似于 lambda 表达式的语法定义方法和 属性 主体,因为它使用标记 =>.

但是,重要的是,这 意味着涉及委托类型。 (而 lambda 表达式只允许在将其转换为表达式树或委托类型的上下文中使用。)

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

它们将编译成相同的 IL,您始终可以自己测试并使用 ildasm 提取 IL。