J'ai un IDataRecord reader
que je suis de la récupération d'une virgule comme suit:
decimal d = (decimal)reader[0];
Pour une raison quelconque, cela jette une défaillance de cast exception en disant que le "cast Spécifié n'est pas valide."
Quand je le fais, reader[0].GetType()
il me dit qu'il est un Int32. Autant que je sache, ce ne devrait pas être un problème....
J'ai testé ce par ce fragment de code qui fonctionne très bien.
int i = 3750;
decimal d = (decimal)i;
Cela m'a laissé de me gratter la tête en se demandant pourquoi il ne s'est pas unbox l'int contenues dans le lecteur comme un nombre décimal.
Personne ne sait pourquoi cela pourrait se produire? Est-il quelque chose de subtil qui me manque?