使用lambda运算符的C#方法声明

时间:2015-10-30 19:44:36

标签: c# lambda

在研究C# operator overloading时,我偶然发现了MSDN网站上的这段代码:

public static Complex operator +(Complex c1, Complex c2) =>
    new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);

// Override ToString() to display a complex number 
// in the traditional format:
public override string ToString() => $"{this.real} + {this.imaginary}";

这是在某些情况下定义简单方法的一种非常有用的方法,但我不记得曾经在任何地方看过它。我尝试在C#5.0语言规范中搜索此方法声明语法的描述,但什么都找不到。我的网络搜索也没有发现任何内容。

两个问题:

  1. 在哪个版本的C#中,此方法声明语法是否可用?
  2. 语言规范中描述的语法是什么?

1 个答案:

答案 0 :(得分:4)

它是在C#6中添加的,您可以在新编译器here的官方Github上阅读它。