在研究C#运算符重载时,我在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语言规范中搜索该方法声明语法的描述,但一无所获。我在网络搜索中也一无所获。
两个问题:
- 这种方法声明语法在C#的哪个版本中可用
- 该语法在语言规范中的何处描述
它是在C#6中添加的,您可以在新编译器的官方Github上阅读它。