Expression bodied function members efficiency and performance in C# 6.0

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

For instance this property

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

can be now defined as follows:

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

The information about expression-boided function members you can find here: http://blogs.msdn.com/b/csharpfaq/archive/2014/11/20/new-features-in-c-6.aspx

Does anyone know if there's any overhead when using new syntax? Can it slow down (or improve efficiency of) the application or maybe it doesn't matter?

Jon Skeet
people
quotationmark

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

No, you can't. You can define method and property bodies using syntax which looks like a lambda expression, in that it uses the token =>.

However, importantly this does not mean that there's a delegate type involved. (Whereas a lambda expression is only permitted in a context where it's converted to an expression tree or delegate type.)

This is purely syntactic sugar. Your two example code snippets will compile to the exact same IL. It's just a different way of representing the body of a property getter or method.

people

See more on this question at Stackoverflow