.net 的 XNA 框架有一个非常有用的对象,称为 vector2,它表示一个二维向量。您可以将它们乘以整数、 float 和其他向量 2
例如。
Vector2 bloo = new Vector2(5, 5);
bloo *= 5;
bloo *= someotherVector2;
唯一的问题是 X、Y 信息存储为 float ,在很多情况下我想简单地将二维信息或二维坐标存储为整数。 我想为此制作自己的结构.. 这是我所拥有的..
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;
}
}
我的问题是如何使我的 Coord 结构可以使用 * (不是“乘法”函数调用)乘以整数或其他 Coords
最佳答案
您可以使用运算符重载:
public static Coord operator*(Coord left, int right)
{
return new Coord(left.X * right, left.Y * right);
}
只需将该方法放入Coord
结构中即可。您可以使用许多运算符(如 +、-、/
等)以及使用不同的参数来执行此操作。
关于c# - 如何制作可以使用 * 相乘的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14936067/