Guy*_*ito 1 .net c# struct multiplying
.net的XNA框架有一个非常有用的对象,称为vector2,代表一个二维向量.你可以将它们乘以整数,浮点数和其他向量2
例如.
Vector2 bloo = new Vector2(5, 5);
bloo *= 5;
bloo *= someotherVector2;
Run Code Online (Sandbox Code Playgroud)
唯一的事情是X,Y信息存储为浮点数,在很多情况下我想简单地存储2d信息或2d坐标作为整数.我想为此创建自己的结构..继承人我拥有的...
internal struct Coord
{
public int X { get; private set; }
public int Y { get; private set; }
public Coord(int x,int y)
{
X = x;
Y = y;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是如何使它成为我的Coord结构可以通过使用*(不是"乘法"函数调用)的整数或其他Coords倍增
您可以使用运算符重载:
public static Coord operator*(Coord left, int right)
{
return new Coord(left.X * right, left.Y * right);
}
Run Code Online (Sandbox Code Playgroud)
只需将方法放入Coord结构中即可.您可以使用许多运算符(例如+,-,/等等)以及不同的参数来执行此操作.