Expression-bodied methods is another feature in C# 6.0 that simply the syntactic expression in C# . We are already familiar with Lambda expression that associate with function and call by a delegation. Expression-bodied members extend the similar use of lambda expressions for methods.
Following code block show, we have a GetTime() method that returns a formatted time and application prints it in console. This is what we do typically till now.
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetTime());
}
public static string GetTime()
{
return "Current Time - " + DateTime.Now.ToString("hh:mm:ss");
}
}
With the use of C# 6.0, Expression Bodied Methods, we can use the Lambda expression for the method definition part.
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetTime());
}
public static string GetTime() => "Current Time - " + DateTime.Now.ToString("hh:mm:ss");
}
isn’t a cool features ? and this also makes our code clean and clear to understand.
Must Read : What’s new in C# 6.0 ?
Can we use the expression body in extension methods too?