例如:
int value = Int32.MaxValue;
unchecked
{
value += 1;
}
这在哪些方面会有用?你能想到吗?
最佳答案
在以下情况下使用unchecked
:
- 您想通过溢出来表达常量(这在指定位模式时很有用)
- 你希望算术溢出而不导致错误
后者在计算哈希码时很有用 - 例如,在 Noda Time 中该项目是用经过检查的算法构建的,用于除哈希代码生成之外的虚拟所有内容。在计算哈希码时,发生溢出是完全正常的,这很好,因为我们并不真正关心作为一个数字的结果——我们只是希望它作为一个位模式,真的。
这只是一个特别常见的示例,但在其他情况下您可能真的很高兴 MaxValue + 1
变为 MinValue
。
关于c# - 在什么情况下我会将操作指定为未选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7569055/