c#默认不就是不检测溢出吗?还要uncheck干什么? c#默认不就是不检测溢出吗?还要uncheck干什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1:在编译中可以调整为默认检测嘛;2:我猜测一下check{...这里很长uncheck(){ ..这里很短或者确定不需要检测}}这种情况也是有可能的只是我不知道这种代码它空间是否会检测,没测试过。 默认的运算符号+的IL指令是不检查溢出的 add指令 使用check以后,就会使用检查溢出的IL指令 addovf 好像是这样写,记的不太清楚了,其他几个操作符一样 正如你所说,C#默认是不检查溢出的,为什么需要这个关键字,我们可以探讨一下:1.有uncheck关键字,没有check关键字,你不绝对别扭吗?这是成对出现的2.如果一个程序多数地方需要检查溢出,我们可能在项目的属性的设置检查溢出(不是用check,是设置项目属性)而在这个程序的极少数地方,我们不想检查溢出,那是不是就有了uncheck的用武之地呢? 一般的best practice建议debug build检查溢出,而release build不检查。这样在debug阶段你可以确定哪些溢出是不需要检查的,然后用unchecked段把这些代码圈起来。应该说很多溢出都是有害的,所以尽可能要在debug阶段找出来解决掉。而之所以release build设为不检查,只是为了防止你的程序运行时影响到最终用户。因此请检查你的代码,处理所有你能够处理的溢出吧。CLR via C#一书有相关的章节详细介绍这个。 写了一个类怎么调用呢? SQL 帮我写一个登陆到baidu知道的小例子 控件被其它线程访问?"Cross-thread operation not valid" 可是我没有使用多线程啊 求助:有什么方法可以读出文件的摘要信息? 想把两个串3.42和4.55相加该怎么弄啊(20分),谢谢! 用DataSet更新数据老出现并发冲突 五角星的问题 想给初学的朋友们一些建议 能否得到一个对象对应的字符串名称? Richtextbox保存时出现问题了 Gridview如何动态改变列字段类型??急!!
2:我猜测一下check
{...这里很长uncheck()
{
..这里很短或者确定不需要检测
}}
这种情况也是有可能的只是我不知道这种代码它空间是否会检测,没测试过。
使用check以后,就会使用检查溢出的IL指令 addovf 好像是这样写,记的不太清楚了,其他几个操作符一样
1.有uncheck关键字,没有check关键字,你不绝对别扭吗?这是成对出现的
2.如果一个程序多数地方需要检查溢出,我们可能在项目的属性的设置检查溢出(不是用check,是设置项目属性)
而在这个程序的极少数地方,我们不想检查溢出,那是不是就有了uncheck的用武之地呢?