decimal.Negate(myDecimal)
和myDecimal * -1
之间是否有任何区别(也许可读性除外)?
最佳答案
我怀疑Negate
存在是因为有一个一元减运算符( op_UnaryNegation
),并且有一个好的方法是使用表示等效功能的方法,这样不支持运算符重载的语言仍然可以达到相同的结果。
因此,与其将它与myDecimal * -1
进行比较,不如将其视为编写-myDecimal
的另一种方法可能会有所帮助。
(我相信它也已优化-鉴于浮点的工作方式,取一个值比普通乘法要简单得多;只有一点点需要翻转。不需要执行任何实际的算术。)