J'ai remarqué dans un autre poste, quelqu'un avait fait quelque chose comme:System.Convert.ToInt vs (int)
double d = 3.1415;
int i = Convert.ToInt32(Math.Floor(d));
Pourquoi ont-ils utilisé la fonction de conversion, plutôt que:
double d = 3.1415;
int i = (int)d;
qui a un sol implicite et convertit.
En outre, plus inquiétant, je remarquais dans un code de production, je lisais:
double d = 3.1415;
float f = Convert.ToSingle(d);
Est-ce la même chose que:
float f = (float)d;
sont toutes les conversions autrement implicites juste dans la classe Convert pour l'exhaustivité, ou servent-ils un but? Je peux comprendre un besoin de .ToString(), mais pas le reste.
Est-ce que 'Int32.Parse (String): Int32' convertit réellement une chaîne en int? –
Int32.Parse convertira une chaîne "numérique" en int et lancera une exception si la conversion échoue. Int32.TryParse retournera false si la conversion échoue lors de la conversion.ToInt32 retournera 0 si la conversion échoue. –