我应该使用哪一个? decimal.Add()或“+”

时间:2013-02-26 09:34:54

标签: c# .net

我有一个问题,我找不到答案。 想象一下,我有两个十进制数字。 当我想总结数字时,我应该使用哪一个?

选项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;

3 个答案:

答案 0 :(得分:11)

他们完全一样。 Decimal类重载了调用相同方法的+运算符。所以你应该使用你觉得更具可读性的那个。我个人更喜欢第二种方法。

+运算符(由反射器提供):

[SecuritySafeCritical, __DynamicallyInvokable]
public static decimal operator +(decimal d1, decimal d2)
{
    FCallAddSub(ref d1, ref d2, 0);
    return d1;
}

和Add方法:

[SecuritySafeCritical, __DynamicallyInvokable]
public static decimal Add(decimal d1, decimal d2)
{
    FCallAddSub(ref d1, ref d2, 0);
    return d1;
}

在IL和性能方面严格等同。

答案 1 :(得分:0)

c#为您提供了多种解决问题的方法,您可以选择更舒适的问题。我个人使用num1 + num2。

答案 2 :(得分:0)

它们都完全相同,只是外观不同。