/checked (整数算術演算のチェック) (C# コンパイラ オプション)
更新 : 2007 年 11 月
/checked オプションは、checked キーワードまたは unchecked キーワードのスコープ外にある整数算術演算ステートメントの結果がデータ型の範囲外の値になった場合に、実行時に例外を発生させるかどうかを指定します。
/checked[+ | <U>-</U>]
解説
checked キーワードまたは unchecked キーワードのスコープ内にある整数算術演算ステートメントは、/checked オプションの影響を受けません。
checked キーワードまたは unchecked キーワードのスコープ外にある整数算術演算ステートメントの結果がデータ型の範囲外の値になる場合、コンパイル時に /checked+ (/checked) オプションを指定すると、そのステートメントは実行時に例外を発生します。コンパイル時に /checked- が使用された場合、そのステートメントは実行時に例外を発生しません。
このオプションの既定値は /checked- なので、オプションを付けなかった場合も同じ動作になります。/checked- を使用する場面としては、大規模なアプリケーションのビルドがあります。 このようなアプリケーションのビルドでは、自動化ツールが使用されることがあります。このツールで、/checked が自動的に + に設定されるような場合に、/checked- を指定することによって、グローバルな既定値をオーバーライドできます。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ] ページを開きます。詳細については、「方法 : ビルドのプロパティを設定する (C#)」を参照してください。
[ビルド] プロパティ ページをクリックします。
[詳細] をクリックします。
[演算のオーバーフローおよびアンダーフローのチェック] プロパティを変更します。
プログラムによってこのコンパイラ オプションにアクセスする方法については、「CheckForOverflowUnderflow」を参照してください。
使用例
t2.cs をコンパイルするとき、checked キーワードまたは unchecked キーワードのスコープ外にある整数算術演算ステートメントの結果がデータ型の範囲外の値になった場合に実行時例外を発生させるには、次のコードを使用します。
csc t2.cs /checked