/checked(C# 编译器选项)
/checked 选项指定,不在 checked 或 unchecked 关键字的范围内、并且产生的值超出数据类型范围的整数算法语句是否将导致运行时异常。
/checked[+ | -]
备注
checked 或 unchecked 关键字范围内的整数算法语句不受 /checked 选项的影响。
如果不在 checked 或 unchecked 关键字范围内的整数算法语句产生的值超出数据类型范围,并且编译中使用了 /checked+ (/checked),则该语句将在运行时导致异常。 如果编译中使用的是 /checked-,则该语句在运行时不会导致异常。
该选项的默认值为 /checked-. 使用 /checked- 的一个方案是生成大型应用程序。 有时自动化的工具用于生成该应用程序,而且这种工具可以将 /checked 自动设置为 +。 可通过指定 /checked- 重写工具的全局默认值。
在 Visual Studio 开发环境中设置此编译器选项
打开项目的**“属性”**页。 有关更多信息,请参见 “项目设计器”->“生成”页 (C#)。
单击**“生成”**属性页。
单击**“高级”**按钮。
修改**“检查算法上溢/下溢”**属性。
若要以编程方式访问此编译器选项,请参见 CheckForOverflowUnderflow。
示例
使用以下命令编译 t2.cs。 命令中 /checked 的使用指定,任何不在 checked or unchecked 关键字范围内以及导致数据类型以外值的结果的文件中的整数算法语句,都会在测试时间内引发异常。
csc t2.cs /checked