switch与多个if elseif 有什么本质的区别吗? 其实是一样的,判断的条件的多少和你编码的位置有一定关系呀!eg:swith(i){case 1: ...break;case 2: ...break;}if(i == 1) ...elseif(i == 2) ... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在较多需要判断的条件时,用switch比较容易阅读和书写 最主要的是在编译成的代码中,if的效率通常要比较低,if的层次越多,效率越低 switch 是有符合条件的就跳出?你不写break;怎么会跳出?if else if要每个条件都判断一遍? 你可以控制的,不让他判断某些条件! 用switch比较容易阅读和书写 用switch比较容易阅读而且效率要好一些,前提是if 语句比较多的情况下 switch/case用的是二分查找,N的条件跳转只需要最多Log(N)个判断;if/else在同样条件下需要N个判断。 个人觉得要判断多的话还是用switch 好,,结构性好比较容易阅读 switch 效率高一些,也好读一些 我觉得本质上没有什么区别不过,如何分支多的话,switch看起来,清晰一些 switch的case条件只能是常量,if…esle…的可以不是常量的。另外,楼主所说的也是不正确的,if…esle…在找到满足的条件后不会继续执行下一个条件 还有一点是switch结构中可以用goto这种老掉牙的玩意儿 没什么区别。主要就是看判断的条件是不是很多。如果很多就用swith,否则就有if…else… ========以下是我老板的理解.http://ehome.hifly.to/showthread.php?s=&threadid=1020 顺便说一下,大家可以看到这里只有 qqchen79(知秋一叶 [MS MVP]) <五星上将> 才能回答出来啊.高手太少了啊! 一般对比比较多但对比后处理比较少的用switch对比后要进行相当处理的采用if Winform不规则窗体总是带有背景杂边 小型管理系统不使用数据库,有什么其它方法? C# 操作有密码的excel 2007 求一个正则表达式 我在跟帖中,提示说我用了非法词或词组不存在,请问:什么样的词组叫非法词组和词组不存在 如何获取委托列表?请高手指教!在线给分! 初学者提问:程序简单,但结果怪异,哪里错了?谢谢 怎么用反射调用一个重载过的方法。。。。。在线等。。。。 threadpool请教 如何在datagrid模板列中实现文字的固定显示格式 烦哪位兄弟给我提供一个UltraGrid及其序列号 PDA和PC通过串口进行通信(数据上传和下载)的问题,大家帮忙啊!
主要就是看判断的条件是不是很多。如果很多就用swith,否则就有if…else…
http://ehome.hifly.to/showthread.php?s=&threadid=1020
qqchen79(知秋一叶 [MS MVP]) <五星上将> 才能回答出来啊.高手太少了啊!