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?

War es hilfreich?

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
scroll top