哎呀怎么讨论到var什么去了?是不是有点跑题了?
我来说一下我的看法罢。
其实呢,if...else
和 case 是各有所长,不过可以肯定的是if是不会被消灭的,呵呵。
从beta改过后的测试结果我们可以看出,以5次if嵌套为分界,小于5次if 的效率高,
而超过5次之后case的优势明显。这个结果可以说相当的合理。过多的if嵌套无疑会对
程序的理解造成困难,相比之下case就清晰得多了,也更容易懂。当你在选择if 和 case
的时候不妨以5这个值作为分界,超过5层的嵌套难于阅读,尽量使用case来替换,不过我
自己实际编写程序的时候一般是以3为分界的,呵呵。
小于3的话我想没有多少人会选择case吧,在
if a=1 then
do
something
else
do
nothing;
和
case a of
1:do
something;
else
do
nothing;
end;
中,我一定会选择if,因为这样更清晰。
用一句话来说,简单情况的判断用if,多种情况的判断用case,这才是这两条语句的定位。
不应该机械的认为谁一定要代替谁。
另外case语句很有趣的一个地方就是else
了。从beta的分析我们可以看出来,这个else
是最先判断的!在《代码大全》中,case里的else
部分称为缺省!真是难以理解,呵呵。
因为在实际编程中,这个缺省通常是什么都不做。
还有就是在case中,虽然建议各种判断按照出现几率大小排列,但是从测试结果中也可以
看出其实影响不大,反而是if,请严格按照出现几率大小排列,这个可是非常影响效率的
哦,特别是在比较所花的时间多的时候,这个是编程的基本常识哦。
大概我的看法就是那么多了,请多指教,呵呵[
]