目录:
定义-Checked Operator是什么意思?
在C#中,已检查的运算符是用于在运行时对整数型算术运算和转换强制执行溢出检查的运算符。 已检查的运算符用于检测在运行时可能发生的算术运算溢出错误,这些错误导致分配给使用结果数据类型的位数过多。
尽管还有其他用于溢出检查的选项,例如编译器开关和执行环境配置,但已检查的运算符提供了一种编程方式来实现相同功能并确保处理溢出。
技术百科解释了检查操作员
使用已检查的运算符进行溢出检查会影响的操作是那些使用预定义运算符的操作,包括“ ++”,“-”以及诸如“ +”,“-”,“ /”,“ *”和“从一种整数类型到另一种整数或从float / double到整数类型的显式数值转换。 操作的输出将基于操作数。 对于仅包含常量值的表达式,编译器可以检测到溢出并显示为错误。 对于由一个或多个非常数值组成的表达式,将在运行时检查溢出,并引发异常(System.OverflowException)。
与“定义实现”的C / C ++中的有符号整数算术溢出检查相比,C#改进了控制溢出检查的方式。 Checked运算符用于在Checked上下文中执行C#语句,以便在发生算术溢出时引发异常。 它强制公共语言运行时(CLR)处理堆栈溢出情况,同时对整数类型执行操作,这可能导致值超出数据类型的范围。
对于括号内在文本上指定的操作,选中的运算符会影响溢出检查上下文。 它不影响作为评估所包含表达式的结果而调用的任何函数。
