decimal.Negate(myDecimal)myDecimal * -1之间是否有任何区别(也许可读性除外)?

最佳答案

我怀疑Negate存在是因为有一个一元减运算符( op_UnaryNegation ),并且有一个好的方法是使用表示等效功能的方法,这样不支持运算符重载的语言仍然可以达到相同的结果。

因此,与其将它与myDecimal * -1进行比较,不如将其视为编写-myDecimal的另一种方法可能会有所帮助。

(我相信它也已优化-鉴于浮点的工作方式,取一个值比普通乘法要简单得多;只有一点点需要翻转。不需要执行任何实际的算术。)

10-07 14:57