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

问题描述:

我有一个问题,我找不到答案。 想象一下,我有两个十进制数。 当我想总结一个数字,为​​什么我应该使用?我应该使用哪一个? decimal.Add()或“+”

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

你可以使用一个你可以阅读更容易。 – Freeman 2013-02-26 09:35:49

+4

首选+运算符或您的代码可能以每日wtf结尾。 – Guillaume 2013-02-26 09:38:02

+0

他们会产生相同的结果,所以你可以使用你想要的。 – Alpay 2013-02-26 09:38:23

他们绝对是一样的。 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和性能方面严格等价。

这两个c#都给你提供了多种方法来解决你选择你感觉更舒适的问题。我个人使用num1 + num2。

它们都完全一样,只是看起来不一样。