2013-02-26 28 views
8

Ho una domanda che non riesco a trovare la risposta. Immagina di avere due numeri decimali. Quando voglio sommare i numeri che uno e perché dovrei usare?Quale dovrei usare? decimal.Add() o "+"

opzione1:

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

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

opzione2:

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

var result = num1 + num2; 
+7

È possibile utilizzare quello che è possibile leggere più facilmente. – Freeman

+4

Preferisci l'operatore + o il tuo codice potrebbe terminare con il wtf giornaliero. – Guillaume

+0

Produrranno lo stesso risultato, quindi puoi usarlo come desideri. – Alpay

risposta

11

Sono assolutamente la stessa. La classe Decimal ha sovraccaricato l'operatore + che chiama lo stesso metodo. Quindi dovresti usare quello che ritieni più leggibile. Personalmente preferisco il secondo approccio.

+ operatore (per gentile concessione di riflettore):

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

e il metodo Add:

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

equivalenza rigorosa in termini di IL e prestazioni.

0

Entrambi C# ti offre diversi modi per risolvere i problemi che scegli quello che trovi più comodo. Personalmente uso num1 + num2.

0

Sono entrambi esattamente uguali, solo diversi nell'aspetto.

Problemi correlati