例如:
int value = Int32.MaxValue;
unchecked
{
value += 1;
}
这在哪些方面有用?你能想到什么吗?
在以下情况下使用unchecked
:
后者在计算哈希码时很有用 - 例如,在Noda Time中,该项目是使用检查算法构建的,用于除哈希码生成之外的虚拟所有内容。在计算哈希码时,发生溢出是完全正常的,这很好,因为我们并不真正关心结果是一个数字——我们只希望它是一个位模式,真的。
这只是一个特别常见的例子,但很可能还有其他时候你真的很高兴MaxValue + 1
成为MinValue
.