Convertir double pour flotter par cast ou Convert.ToSingle ()?

En C# je peux convertir en double aux flotteurs par un casting (float) ou par Convert.ToSingle().

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

a et b deviennent égaux.

Est-il des différences entre les deux techniques? Lequel dois-je préfère et pourquoi?

source d'informationauteur Seb