Ich habe eine IDataRecord reader
, dass ich eine Dezimalzahl bin Abrufen aus wie folgt: „angegebene Ziel ungültig ist“Warum kann ich einen int nicht als Dezimalzahl ausgeben?
decimal d = (decimal)reader[0];
Aus irgendeinem Grund dieses Wort eine ungültige Besetzung Ausnahme auslöst, dass die
Wenn ich reader[0].GetType()
mache, sagt es mir, dass es ein Int32 ist. Soweit ich weiß, sollte dies kein Problem sein ....
Ich habe dies durch dieses Schnipsel getestet, das funktioniert gut.
Das hat mich am Kopf kratzen lassen und mich gewundert, warum es nicht möglich ist, das Int im Lesegerät als Dezimalzahl auszupacken.
Weiß jemand, warum dies auftreten könnte? Gibt es etwas Feines, das ich vermisse?
In gewisser Weise ist es schade, dass Unboxing und Casting syntaktisch identisch aussehen, da sie sehr unterschiedliche Operationen sind. – jerryjvl
Danke Mehrdad. Ihre Erklärung und der Link zu Erics Blog war sehr hilfreich. – mezoid
Danke! Das warf mich auf eine Schleife. – Darryl