自定义对象加/减

Apa*_*MPE 1 c# syntax object

假设的问题.我的程序中有一个名为GamePoint的自定义对象.它已正确定义并具有所有必需成员.我想知道的是,我是否可以实现类似于以下内容:

GamePoint p = new GamePoint(10, 10);
p += new GamePoint(15, 15);
//output: p = {25, 25}
Run Code Online (Sandbox Code Playgroud)

反正有没有实现这样的语法?

Sel*_*enç 7

当然你可以使用运算符重载:

class GamePoint
{
    private int v1;
    private int v2;

    public GamePoint(int v1, int v2)
    {
        this.v1 = v1;
        this.v2 = v2;
    }

    public static GamePoint operator +(GamePoint a, GamePoint b)
    {
        return new GamePoint(a.v1 + b.v1, a.v2 + b.v2);
    }
}
Run Code Online (Sandbox Code Playgroud)