web-dev-qa-db-fra.com

Convertir double en float par casting ou Convert.ToSingle ()?

En C #, je peux convertir les doubles en float par un transtypage (float) Ou par Convert.ToSingle().

double x = 3.141592653589793238463;
float a = (float)x;
float b = Convert.ToSingle(x);

a et b deviennent égaux.

Existe-t-il des différences entre les deux techniques? Lequel devrais-je préférer et pourquoi?

34
Seb

Depuis le source de référence .NET :

public static float ToSingle(double value)
{
     return (float)value;
}

Donc, vous répondez qu'ils sont exactement les mêmes, sous le capot.

Toute préférence entre les deux est strictement un choix de style personnel. Personnellement, j'utiliserais toujours le casting car il est plus court et me semble plus idiomatique.

57
Glorin Oakenfoot