我有一个IDataRecord reader
我正在检索一个小数,如下所示:
decimal d = (decimal)reader[0];
由于某种原因,这会引发一个无效的转换异常,指出“指定的转换无效”。
当我这样做reader[0].GetType()
时,它告诉我它是一个 Int32。据我所知,这应该不是问题......
我已经通过这个片段测试了这一点,效果很好。
int i = 3750;
decimal d = (decimal)i;
这让我摸不着头脑,想知道为什么它无法将阅读器中包含的 int 拆箱为小数。
有谁知道为什么会发生这种情况?我错过了什么微妙的东西吗?