我與SharePoint中的一小段代碼的工作,即是這樣的:無法從雙強制轉換爲int
int? do_ = (int?)re["mi"]; // consider "re" a dictionary<string, object>;
等號右邊的表達式計算結果爲Double
。爲了使double
確定,我double
- 在監視窗口中檢查它((D))。是的,這是一個System.Double
,進出。
然而,該行會拋出異常:
指定的轉換無效。
我正準備用額頭在我的桌子上留下一個凹痕,當我意識到是的時候,你可以將double轉換爲int,儘管丟失了非整數部分的值(這實際上是用於我的情況)。我在編程的第一天就學會了這一點,在世界繼續前進。
所以爲了更確定,我創建了另一個解決方案,一個簡單的控制檯應用程序。我把這個代碼放進去:
double dragon = 2.0;
int? i = (int?)dragon;
它和預期的一樣有效。
爲什麼它會在一個環境中工作,但在另一個環境中會失敗?
嘛。我知道你在某個地方發生了事情:沒有這種東西像'客體?'。 –
@newStackExchangeInstance對不起,修復它。 – Renan