gpt4 book ai didi

c# - 如何制作可以使用 * 相乘的结构

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:15 24 4
gpt4 key购买 nike

.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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com