2013-02-26 16 views
8

Ich habe eine Frage, dass ich die Antwort nicht finden kann. Stellen Sie sich vor, ich habe zwei Dezimalzahlen. Wenn ich die Nummern zusammenfassen möchte welche und warum sollte ich verwenden?Welchen soll ich verwenden? decimal.Add() oder "+"

option1:

var num1 = 10.456m; 
var num2 = 12.033m; 

var result = decimal.Add(num1, num2); 

option2:

var num1 = 10.456m; 
var num2 = 12.033m; 

var result = num1 + num2; 
+7

Sie können die verwenden, die Sie leichter lesen können. – Freeman

+4

Bevorzugen Sie den + Operator oder Ihr Code kann auf dem täglichen wtf enden. – Guillaume

+0

Sie werden das gleiche Ergebnis liefern, so dass Sie verwenden können, wie Sie möchten. – Alpay

Antwort

11

Sie sind absolut gleich. Die Klasse Decimal hat den +-Operator, der dieselbe Methode aufruft, überlastet. Also solltest du den benutzen, den du besser lesbar findest. Persönlich bevorzuge ich den zweiten Ansatz.

+ Operator (mit freundlicher Genehmigung von Reflektor):

[SecuritySafeCritical, __DynamicallyInvokable] 
public static decimal operator +(decimal d1, decimal d2) 
{ 
    FCallAddSub(ref d1, ref d2, 0); 
    return d1; 
} 

und die Add-Methode:

[SecuritySafeCritical, __DynamicallyInvokable] 
public static decimal Add(decimal d1, decimal d2) 
{ 
    FCallAddSub(ref d1, ref d2, 0); 
    return d1; 
} 

strikte Äquivalenz in Bezug auf IL und Leistung.

0

Beide C# gibt Ihnen mehrere Möglichkeiten, um Probleme zu lösen, wählen Sie die, die Sie bequemer finden. Ich persönlich benutze num1 + num2.

0

Sie sind beide genau gleich, nur in Aussehen unterschiedlich.

Verwandte Themen