decimal.Negate(myDecimal)
和 myDecimal * -1
之间有什么区别吗(除了可读性)?
最佳答案
我怀疑 Negate
的存在是因为有一个一元减号运算符 ( op_UnaryNegation
),最好的做法是使用表示等效功能的方法,这样不支持运算符重载的语言仍然可以实现同样的结果。
因此与其将其与 myDecimal * -1
进行比较,不如将其视为编写 -myDecimal
的另一种方式。
(我相信它也进行了优化 - 考虑到浮点的工作方式,取负值比普通乘法简单得多;只需翻转一点。无需执行任何实际算术运算。)
关于c# - .NET decimal.Negate 与乘以 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412190/