由于重载,使用数学运算符适用于 XNA Vector2s,例如:
new Vector2(1.0f, 2.0f) + new Vector2(2.0f, 3.0f) // {X:3 Y:5}
(非常便利)
但是看看这个:
// Okay, this works fine.
new Vector2(1.0f, 2.0f) = new Vector2(1.0f, 2.0f) // true
// Is it checking for type equality?
new Vector2(1.0f, 2.0f) = new Vector2(6.0f, 5.0f) // true
那么为什么它不调用 Vector2 上的重载op_Equality
(对于op_Inequality
)?如果直接调用,它们会按预期工作。
PS:如果它很重要,我认为它不重要,我在 Mono 和 Monogame 下运行它。
PPS:这主要是烦人,我不能使用=
,但如果我真的需要,我可以使用 Vector2.Equals。