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

本文关键字:方法 声明 lambda 运算符 使用 | 更新日期: 2023-09-27 18:19:54

在研究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语言规范中搜索该方法声明语法的描述,但一无所获。我在网络搜索中也一无所获。

两个问题:

  1. 这种方法声明语法在C#的哪个版本中可用
  2. 该语法在语言规范中的何处描述

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

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