未选中

unchecked 关键字可防止编译器检查溢出/下溢。

例如:

const int ConstantMax = int.MaxValue;
unchecked
{
    int1 = 2147483647 + 10;
}
int1 = unchecked(ConstantMax + 10);

如果没有 unchecked 关键字,两个加法操作都不会编译。

什么时候有用?

这很有用,因为它可以帮助加速绝对不会溢出的计算,因为检查溢出需要时间,或者当需要溢出/下溢行为时(例如,生成哈希代码时)。