目录:
定义-未检查的运算符是什么意思?
在C#中,未经检查的运算符是用于在表达式和转换的求值期间禁用溢出检查的运算符。
当使用包含数字数据类型的表达式执行整数型算术运算时,如果运算结果太大而无法根据类型分配给特定位数的数字表示,则会导致溢出异常。 如果溢出是可接受的操作结果,则必须抑制该异常并继续执行程序。 在此类情况下,通过设置未检查的上下文(在此情况下将算术溢出被截断而忽略),可以使用未检查的运算符。
与C / C ++忽略溢出的可能性相比,C#通过提供选中和未选中的运算符来提供处理或忽略溢出的功能。 非检查运算符通常用于在检查上下文中编译的项目部分。 可以使用未经检查的运算符的一些算法包括校验和,加密逻辑和随机数生成。
Techopedia解释了未经检查的操作员
在表达式上以及代码块中的语句中,未选中的运算符与关键字“未选中”一起使用。 它设置了一个执行上下文,在该上下文中,在发生整数溢出时会丢弃结果的最高有效位,同时继续执行。 未检查的上下文适用于“未检查”语句中包含的语句,不适用于嵌套函数调用。
例如,当数据类型的两个大整数的乘积出于某种目的需要使用short而不需要检查是否发生溢出时,可以使用未经检查的运算符。
通常,只能在编译期间检查包含常数项的表达式是否溢出。 可以使用未检查的运算符来避免检查此类表达式中的溢出情况,也可以避免在运行时和编译时检查包含默认情况下未经检查的非常数项的表达式。
未检查的运算符不能重载。
由于使用未经检查的运算符会降低性能,因此只能在溢出不会引起任何问题的情况下使用它。
该定义是在C#上下文中编写的

