我有一个找不到答案的问题。想象一下,我有两个十进制数。当我想对数字求和时,我应该使用哪一个?
选项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# 都为您提供了多种解决问题的方法,您可以选择一种您觉得更舒服的方法。我个人使用 num1 + num2。
两者完全一样,只是外观不同。