They are exactly the same. The Decimal class overloaded the + operator, calling the same method. Therefore, you should use one that seems more readable to you. Personally, I prefer the second approach.
Operator
+ (kindly provided by the reflector):
[SecuritySafeCritical, __DynamicallyInvokable] public static decimal operator +(decimal d1, decimal d2) { FCallAddSub(ref d1, ref d2, 0); return d1; }
and Add method:
[SecuritySafeCritical, __DynamicallyInvokable] public static decimal Add(decimal d1, decimal d2) { FCallAddSub(ref d1, ref d2, 0); return d1; }
Strict equivalence in terms of IL and performance.
Darin Dimitrov
source share