整數除法:
1、整數類型的除法運算總是會截斷餘數。
2、用一個值爲0的變量做除數將產生一個運行時錯誤。
整數溢出:
1、整數類型在運行算數運算時可能會溢出。默認情況下,溢出默默地發生而不拋出異常。
例:int a = int.MinValue; a--; 則 a == int.MaxValue;
整數運算溢出檢查符:Checked
1、Checked運算符的作用是在運行時當整型表達式或語句達到這個類型的算術限制時,產生一個異常而不是默認失敗。
例:int a = 20; int b = 20; int c = Checked(a*b); // 只檢查一個語句
Checked{ int a= 20; int b = 30; int c = a*b; int d = a/b;} // 檢查整個程序塊中的語句
常量表達式的溢出檢查:
無論是否開啓Checked編譯器開關,當有常量在表達式中時都會檢查是否溢出。除非使用UnChecked
例:int x = int.MinValue + 1; // 編譯時錯誤
int y = unchecked(int.MinValue + 1); // 沒有錯誤