In C# kann ich Doubles in Floats umwandeln durch einen Cast (float)
oder Convert.ToSingle()
.Convert Double in Float von Cast oder Convert.ToSingle()?
double x = 3.141592653589793238463;
float a = (float)x;
float b = Convert.ToSingle(x);
a
und b
gleich werden.
Gibt es Unterschiede zwischen beiden Techniken? Welchen sollte ich bevorzugen und warum?
Da es scheinbar keinen Grund gibt, ToSingle zu verwenden, ist es keine persönliche Entscheidung, sondern objektiv besser, einen Cast zu verwenden. – usr
Die 'Convert'-Klasse soll die sprachneutrale Konvertierung zwischen den verschiedenen Basistypen von .NET Framework sein. Nicht alle Sprachen, die auf .NET laufen, haben tatsächlich einen Cast-Operator wie C#. Zum Beispiel: In VB.NET haben Sie CType(), CDbl(), DirectCast() und implizite Konvertierung, von denen keiner genau die gleiche Semantik wie der Darstellungsoperator in C# hat. –