例えば:
int value = Int32.MaxValue;
unchecked
{
value += 1;
}
これはどのような点で役立ちますか?どれか思いつきますか?
次の場合に使用unchecked
します。
後者は、ハッシュ コードを計算する場合に役立ちます。たとえば、Noda Timeでは、プロジェクトは、ハッシュ コード生成以外のすべての仮想のチェック演算を使用して構築されます。ハッシュ コードを計算するとき、オーバーフローが発生するのはまったく正常なことです。数値としての結果はあまり気にしないため、それは問題ありません。ビット パターンとしての結果が必要なだけです。
これは特に一般的な例にすぎませんが、そうであることが本当に幸せな場合は他にもあるかもしれませMaxValue + 1
んMinValue
。