我有一個IDataRecord reader
我正在檢索小數從如下:「指定的轉換無效」爲什麼我不能將int作爲小數來取代?
decimal d = (decimal)reader[0];
出於某種原因,這將引發一個無效的轉換異常說,
當我做reader[0].GetType()
它告訴我,它是一個Int32。據我所知,這應該不是一個問題....
我已經測試了這一點,這段代碼工作得很好。
int i = 3750;
decimal d = (decimal)i;
這讓我撓腦袋,想知道爲什麼它無法將閱讀器中包含的int作爲小數來解開。
有誰知道爲什麼會發生這種情況?我錯過了些微妙的東西嗎?
在某種意義上,它是一個恥辱,拆箱和鑄造語法看起來相同,因爲它們是非常不同的操作。 – jerryjvl 2009-07-06 01:59:14
謝謝Mehrdad。你的解釋和鏈接到Eric的博客是相當有幫助的。 – mezoid 2009-07-06 02:29:36