Office中国论坛/Access中国论坛

标题: 求助!关于代码执行效率问题? [打印本页]

作者: 坡芽歌书    时间: 2010-12-28 12:51
标题: 求助!关于代码执行效率问题?
本帖最后由 坡芽歌书 于 2010-12-28 12:53 编辑

程序代码1:
If A = 1 Then
        MsgBox "执行过程"

        If A + b = 2 Then
            MsgBox "执行过程"

            If A + b + c = 3 Then
                MsgBox "执行过程"
            Else
                MsgBox "a+b+c<>3,程序退出,不能执行"
                Exit Sub
            End If

        Else
            MsgBox "a+b<>2程序退出"
            Exit Sub
        End If

    Else
        MsgBox "a<>1程序退出"
        Exit Sub
    End If

程序代码2:

    If A <> 1 Then
        MsgBox "a<>1程序退出"
        Exit Sub
    Else
        MsgBox "执行过程"
    End If

    If A + b <> 2 Then
        MsgBox "a<>1程序退出"
        Exit Sub
    Else
        MsgBox "执行过程"
    End If

    If A + b + c <> 3 Then
        MsgBox "a+b+c<>3,程序退出,不能执行"
        Exit Sub
    Else
        MsgBox "执行过程"
    End If
以上二段代码中   它们执行的结果都是一样
请问那一段代码执行的效率要高一些,合理一些。
第一段代码看起来复杂 一些,
第二段代码看起来间洁一些。
如何取舍呢?

作者: tmtony    时间: 2010-12-28 14:00
要根据你的数据情况, 初看应该第1段好些,因为有些判断后就不用再判断了,第2段很多在重复判断
作者: 坡芽歌书    时间: 2010-12-28 15:13
感谢老大的回复!!谢谢!!
作者: roych    时间: 2010-12-28 16:08
本帖最后由 roych 于 2010-12-28 16:09 编辑

为什么不用And语句呢?
if a=1 and b=1 and c=1 then
MsgBox "执行过程"
else
MsgBox "程序退出"
end if

作者: asklove    时间: 2010-12-28 16:44
用select case 执行效率和IF比哪个高吗?
作者: zhuyiwen    时间: 2010-12-28 23:46
这两段程序的效率是一样的。

第一段的优点:层次清晰
第二段的优点:代码整洁

至于如何选用,就看个人的编程风格。
作者: miracle-y    时间: 2011-1-9 20:14
学习




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3