11

答えが見つからないという質問があります。私が2つの10進数を持っていると想像してください。数字を合計したいのですが、なぜ使用する必要がありますか?

オプション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;
4

3 に答える 3

13

それらは完全に同じです。Decimalクラスは+、同じメソッドを呼び出す演算子をオーバーロードしました。したがって、より読みやすいと感じるものを使用する必要があります。個人的には2番目のアプローチが好きです。

+オペレーター(リフレクター提供):

[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とパフォーマンスの観点からの厳密な同等性。

于 2013-02-26T09:36:46.913 に答える
0

どちらのC#でも、問題を解決するための複数の方法が用意されており、より快適な方法を選択できます。私は個人的にnum1+num2を使用します。

于 2013-02-26T09:37:01.040 に答える
0

どちらもまったく同じですが、見た目だけが異なります。

于 2013-02-26T09:37:31.510 に答える