2013-02-26 133 views
8

我有一個問題,我找不到答案。 想象一下,我有兩個十進制數。 當我想總結一個數字,爲​​什麼我應該使用?我應該使用哪一個? 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

回答

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和性能方面嚴格等價。

0

這兩個c#都給你提供了多種方法來解決你選擇你感覺更舒適的問題。我個人使用num1 + num2。

0

它們都完全一樣,只是看起來不一樣。