System.Convert.ToInt vs (int)

Mir ist in einem anderen Beitrag aufgefallen, dass jemand so etwas gemacht hat:

<code>double d = 3.1415;
int i = Convert.ToInt32(Math.Floor(d));
</code>

Warum haben sie die Konvertierungsfunktion verwendet, anstatt:

<code>double d = 3.1415;
int i = (int)d;
</code>

das hat eine implizite Etage und konvertieren.

Außerdem habe ich in einem Produktionscode, den ich gerade las, Folgendes bemerkt:

<code>double d = 3.1415;
float f = Convert.ToSingle(d);
</code>

Ist das dasselbe wie:

<code>float f = (float)d;
</code>

Sind all diese ansonsten impliziten Konvertierungen der Vollständigkeit halber nur in der Convert-Klasse enthalten, oder dienen sie einem Zweck? Ich kann die Notwendigkeit von .ToString () verstehen, aber nicht den Rest.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage