C#でcheckedキーワードとuncheckedキーワードというものを知りました。
checkedキーワード、uncheckedキーワードとは?
MSDNから引用します。
checked (C#)
checked キーワードは、整数型の算術演算および変換に対してオーバーフロー チェックを明示的に有効にするために使用します。 ...
unchecked (C#)
unchecked キーワードは、整数型の算術演算および変換に対してオーバーフロー チェックを抑制するのに使用します。 ...
検証
検証してみましょう。
using System; using NUnit.Framework; namespace CheckedTest { [TestFixture] public class Class1 { [Test] public void CheckedTest() { short x = short.MaxValue; short y = 1; Assert.Throws<OverflowException>(() => { int z = checked((short) (x + y)); }); } [Test] public void UncheckedTest() { short x = short.MaxValue; short y = 1; // 循環してマイナスの最大値になる。 int z = unchecked((short) (x + y)); Assert.IsTrue(z == short.MinValue); } } }
でも
uncheckedってどんな時に使うのでしょう?私には使い方がイメージできませんでした。