永发信息网

在C#中check和unchecked怎么用?

答案:4  悬赏:60  手机版
解决时间 2021-03-19 17:33
  • 提问者网友:欲劫无渡
  • 2021-03-19 12:38
在C#中check和unchecked怎么用?
最佳答案
  • 五星知识达人网友:忘川信使
  • 2021-03-19 13:12
C# 中对算术运算进行溢出检查或忽略溢出检查的关键字
因为通常情况下,VS2010(我用的)是不会进行溢出检查的,在某些可能溢出的地方会因为编译器“聪明”的截取部分高位而导致最后运算结果出现错误所以需要进行检查,而某些地方则需要故意的忽略溢出,所以需要忽略溢出检查

使用方法:
对代码块内进行检查
unchecked
{
int x = 10000000;
int y = 10000000;
int z = x * y; //z=276447232
}

checked
{
int x = 10000000;
int y = 10000000;
int z = x * y; //抛出OverFlowException
}

对某个返回值进行检查

int x = 10000000;
int y = 10000000;
int z = checked( x * y);//抛出OverFlowException

int x = 10000000;
int y = 10000000;
int z = unchecked( x * y);//z=276447232

如果需要修改编译器选项,可以在右键点击项目,Properties(属性)->Build(编译)->Advanced(高级)->Check for arithmetic overflow/underflow(检查算术溢出)那里勾选,或者在编译的时候加上编译选项checked+/checked- 来开启/关闭溢出检查
全部回答
  • 1楼网友:独钓一江月
  • 2021-03-19 14:15
能说详细点不?
  • 2楼网友:十年萤火照君眠
  • 2021-03-19 13:44
能说的在具体一点吗?winform的checkbox吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯