未選中
unchecked
關鍵字可防止編譯器檢查溢位/下溢。
例如:
const int ConstantMax = int.MaxValue;
unchecked
{
int1 = 2147483647 + 10;
}
int1 = unchecked(ConstantMax + 10);
如果沒有 unchecked
關鍵字,兩個加法操作都不會編譯。
什麼時候有用?
這很有用,因為它可以幫助加速絕對不會溢位的計算,因為檢查溢位需要時間,或者當需要溢位/下溢行為時(例如,生成雜湊程式碼時)。