首先要知道int型在c#中是一個32位的數。由此可以知道int型的取值范圍是(-2147483648~2147483647)當要使用int的最小值或者是最大值的時候,可以使用int.MinValue和int.MaxValue這兩個屬性。
這里我們要討論的是int型數溢出,事實上當在int型中的最大+1 就會變成最小值。當我們希望這個int值不會超過限制時,可以通過手動啟用溢出檢查功能。
在Visual Studio中是允許設置項目屬性來啟用或者禁止溢出檢查的。解決方案資源管理器------》右擊選擇屬性-------》在屬性對話框中勾線生成---------》單擊右下角的高級按鈕--------》在高級生成設置對話框中勾選檢查運算上溢/下溢選項
在代碼中可以用checked和unchecked關鍵字選擇性打開和關閉程序一個特定部分的整數溢出檢查,這些關鍵字將覆蓋項目的編譯器選項。
checked關鍵字是打開運算溢出檢查,unchecked相反。
上面程序將a變量設置為int數據的最大值,當執行checked檢測時,就會拋出OverflowException異常。
而使用了unchecked就會強制不檢查溢出的代碼塊。就不會拋出OverflowException這個異常。
需要注意的地方是:只有在checked快中的整數運算才會檢查,對於快中的方法調用,不會檢查所調用方法中的整數運算。
異常處理器和Visual Studio調試器
在Visual Studio中調試器默認只在發生未處理異常時才會中斷應用程序,但有時候需要調試應用程序本身,這樣就需要再議程被應用程序捕捉之前跟蹤他們。可以很容易的啟用該功能:
選擇-----》調試窗口-----》異常設置