Dif*_*ine 14 c# unchecked checked
有什么区别
checked(a + b)
Run Code Online (Sandbox Code Playgroud)
和
unchecked(a + b)
Run Code Online (Sandbox Code Playgroud)
?
如果a + b大于数据类型的最大值,则checked将抛出异常.未选中将滚动值的溢出并将其添加到零.
该语言规范对不同的好文章.
checked和unchecked运算符用于控制整数类算术运算和转换的溢出检查上下文.
class Test
{
static readonly int x = 1000000;
static readonly int y = 1000000;
static int F() {
return checked(x * y); // Throws OverflowException
}
static int G() {
return unchecked(x * y); // Returns -727379968
}
static int H() {
return x * y; // Depends on default
}
}
Run Code Online (Sandbox Code Playgroud)