我注意到Math.Round()比Decimal.Round()更灵活,因为它能够处理Decimal.Round()
可以执行的所有操作,但也可以执行相同的double
输入。那么,使用Decimal.Round()
更好,或者一直使用Math.Round()
更好的想法是否存在任何情况?
答案 0 :(得分:4)
查看.NET源代码:http://referencesource.microsoft.com/#mscorlib/system/math.cs,4f39179a0098ab01
Decimal Math::Round(Decimal)
被定义为对Decimal Decimal::Round(Decimal)
的直接调用,因此这两者是语义类似物。
我认为默认情况下我会使用Decimal::Round
来避免额外的函数调用,但是JIT应该优化它,所以我可能会使用Math::Round
来保持一致与其他Math
次调用(如果有的话)在同一代码文件中。