Frage
Mit dieser Methode Erklärung (keine Überlastungen):
void Method(double d)
{
// do something with d
}
Gibt es eine (Performance) Differenz zur Laufzeit zwischen
void Main()
{
Method(1);
Method(1.0);
}
oder ist der Compiler automatisch die int wörtlich zu einem Doppel konvertieren?
Lösung
Ich habe versucht, es einfach. C # 3.0 generiert die folgenden IL für Ihren ersten Anruf:
ldc.r8 1.
call instance void ConsoleApplication1.Program::Method(float64)
Also, keine Laufzeit-Konvertierung.
Andere Tipps
Der Compiler wird implizit die int zu einem Doppel konvertieren.
Es wird keine Strafe.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow