算術演算子の使用は、オーバーロードのおかげで XNA Vector2 で機能します。次に例を示します。
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
op_Equality
では、 Vector2のオーバーロードを呼び出さないのはなぜop_Inequality
ですか? 直接呼び出された場合、期待どおりに機能します。
PS: それが重要な場合は、そうではないと思いますが、私はこれを Mono と Monogame で実行しています。
PPS: これは主に、 を使用できないことが面倒ですが=
、本当に必要な場合は Vector2.Equals を使用できます。