我有一个问题,我找不到答案。 想象一下,我有两个十进制数。 当我想对数字求和时,我应该使用哪一个以及为什么?
选项1:
var num1 = 10.456m;
var num2 = 12.033m;
var result = decimal.Add(num1, num2);
选项2:
var num1 = 10.456m;
var num2 = 12.033m;
var result = num1 + num2;
最佳答案
它们完全相同。 Decimal
类重载了调用相同方法的 +
运算符。所以你应该使用你觉得更具可读性的那个。我个人更喜欢第二种方法。
+
运算符(由反射器提供):
[SecuritySafeCritical, __DynamicallyInvokable]
public static decimal operator +(decimal d1, decimal d2)
{
FCallAddSub(ref d1, ref d2, 0);
return d1;
}
和添加方法:
[SecuritySafeCritical, __DynamicallyInvokable]
public static decimal Add(decimal d1, decimal d2)
{
FCallAddSub(ref d1, ref d2, 0);
return d1;
}
在 IL 和性能方面严格等效。
关于c# - 我应该使用哪一个? decimal.Add() 或 "+",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15085597/