繁体   English   中英

C#short(=>)运算符重载

[英]c# short(=>) operator overloading

我成功像这样重载了运算符:

public static Vector3D operator +(Vector3D v1, Vector3D v2){
    return new Vector3D(v1._x + v2._x, v1._y + v2._y, v1._z + v2._z);
}

我在此页面上阅读到,我也可以这样做:

public static Vector3D operator +(Vector3D v1, Vector3D v2) =>
    new Vector3D(v1._x + v2._x, v1._y + v2._y, v1._z + v2._z);

但是在这种情况下,在=>下,我得到一个错误,说“;预期”。 我想念什么?

查看您已发布示例的链接:

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#版本?

是的,显然是。 您将在这篇文章中找到如何做

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM