我成功地重载了这样的运算符:
public static Vector3D operator +(Vector3D v1, Vector3D v2){
return new Vector3D(v1._x + v2._x, v1._y + v2._y, v1._z + v2._z);
}
我读过this page我也可以这样做:
public static Vector3D operator +(Vector3D v1, Vector3D v2) =>
new Vector3D(v1._x + v2._x, v1._y + v2._y, v1._z + v2._z);
但是在这种情况下,在=>
下我收到错误说“;预期”。我错过了什么?
答案 0 :(得分:1)
查看您发布示例的链接:
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#6.0版本中应用此功能,因为从{C#6.0版本及更高版本开始使用$
代替String.Format
。
尝试使用Visual Studio 2015使其工作。我做了,它工作了
是否可以更新VS 2012的C#版本?
是的,显然是的。如何做,你会在this post
找到