我必須乘以一個乘法因子的變量。我的變量的數據類型將是一個字節,一個Int16,一個Int32或一個浮點數。溢出檢查哪些是可能的以及如何?字節,Int16,Int32和float
我試過checked
按照Microsoft documentation的關鍵字使用情況,但沒有編譯。僅供參考,請參見下面的代碼片段:
byte mv = default(byte); mv = checked(Convert.ToByte(data.Value.ToString()) * Convert.ToByte(MultiplyingFactor));
我的困惑之中:不checked
關鍵字overflow在運行時檢查只適用於integer
類型變量?
如何檢查在運行時爲byte
,Int16
,Int32
和float
倍增動作的溢出?我的要求是當溢出發生時用數據類型的最小值或最大值替換目標變量。
什麼是編譯錯誤信息? – juharr
處理'checked'執行上下文中發生的'OverflowException'。 –