У меня есть IDataRecord reader
, что я получаю десятичное число из следующего:
decimal d = (decimal)reader[0];
По какой-то причине это порождает недопустимое исключение броска, говорящее, что "Указанный приведение недействительно".
Когда я делаю reader[0].GetType()
, он сообщает мне, что это Int32. Насколько я знаю, это не должно быть проблемой....
Я тестировал этот фрагмент, который отлично работает.
int i = 3750;
decimal d = (decimal)i;
Это заставило меня почесывать мою голову, задаваясь вопросом, почему она не может распаковать int, содержащуюся в читателе, как десятичную.
Кто-нибудь знает, почему это может произойти? Есть ли что-то тонкое, что мне не хватает?