我想將Int32值轉換爲Int16值。投射時丟失的數據對我來說不成問題。但System.OverflowException
表示Int16類型值太大或太小。無法將int32轉換爲int16。 Int16類型值太大或太小
Dim num As Int32 = &HFFFFFFF
Dim num2 As Int16 = Convert.ToInt16(num)
Debug.WriteLine(num.ToString("X4"))
Debug.WriteLine(num2.ToString("X4"))
如果我想投一個Int32 & HFFFFFFF到& HFFFF所以我應該怎麼辦。
任何幫助,將不勝感激。
我修復了你的標籤--OverflowException和StackOverflowException是非常不同的。 – 2015-02-24 07:21:03
因爲你的int32值大於Int16.MaxValue或小於Int16.MinValue,你會得到overflowException錯誤。 – 2015-02-24 07:35:33
IMO如果我必須在鑄造前檢查限制或使用try..catch,它將不會很好,因爲代碼會更長。 – 2015-02-24 07:42:37