Expression-bodied 方法是C# 6.0 中另一个能简化代码的特性。我们已经对lambda表达式将funciton和delegation关联起来的这种用法很熟悉了。Expression-bodied 将lambda 表达式的这种用法扩展到了方法上。
像下面代码所示,我们有一个GetTime() 方法返回一个格式化的时间,而后程序会在控制台中将他print出来。这是我们现在的的典型写法。
class Program { static void Main(string[] args) { Console.WriteLine(GetTime()); } public static string GetTime() { return "Current Time - " + DateTime.Now.ToString("hh:mm:ss"); } }
有了C# 6.0的Expression Bodied方法,我们可以在方法定义的部分这样使用Lambda表达式。
class Program { static void Main(string[] args) { Console.WriteLine(GetTime()); } public static string GetTime() => "Current Time - " + DateTime.Now.ToString("hh:mm:ss"); }
是不是挺酷的?这也可以使我们的代码简单易懂。