VB FOR EXIT的问题 30

forlist=xxtoxxifxxxthenxxxelse一般情况下如果在判定区域内执行上面的代码,如果不在判定区域内需要加一个forexit需要退出本次循环吗?和不加... for list = xx to xx
if xxx then
xxx
else
一般情况下如果在判定区域内执行上面的代码,如果不在判定区域内需要加一个for exit 需要退出本次循环吗?和不加有什么区别呢?会不会影响执行效率?
end if
next
展开
 我来答
网海1书生
科技发烧友

2014-01-29 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部

这要看你的目的。比方说有5个不同颜色的蛋糕给你选,要求红色的就吃掉,则:

For i = 1 To 5
    If 蛋糕(i) = 红色 Then
        吃掉 
    End If  
Next

如果要求红色蛋糕只能吃一个,吃过了就不能再吃了,则:

For i = 1 To 5
    If 蛋糕(i) = 红色 Then
        吃掉
        Exit For 
    End If
Next

如果要求只能吃红色蛋糕,一旦遇到其他颜色的蛋糕就退出选择(换句话说如果第一个蛋糕就不是红色的,那么即使后面有红色蛋糕也不能吃了),则:

For i = 1 To 5
    If 蛋糕(i) = 红色 Then
        吃掉
    Else
        Exit For  
    End If
Next
三心全乱
2014-01-29 · TA获得超过6158个赞
知道小有建树答主
回答量:518
采纳率:100%
帮助的人:220万
展开全部
没必要再循环时肯定是赶紧退出,能提高多少效率,主要看程序的复杂程度,但是一般都是能退就退,能省多少就多少。
不过,如果是用for循环的,一般都是确定循环次数才用,不会出现exit这样的事。像这样的思路,应该是用do while 或 do until这种循环,思路更加明确。
更多追问追答
追问
如果for 1to 2 执行2次都是不满足 那么需不需要加上exit for 呢?

vb里有没有退出本次循环的代码? 不是终止循环?
追答
for i = 1 to 2,如果不在循环里改变i的值,那么循环2次后自动退出,当然,要退出之前他会一直执行到next语句,碰到这个语句后i加1,当变成3时,就退出了。如果你不希望把剩下的语句都执行完,可以中途退出,这时i还是2,这是区别,至于效率,还是那句话,看你的程序复杂程度,一般这种情况比较少。
如果是退出本次循环,继续下次,用goto语句,刚才说错了,continue语句是C语言的。
但是要记得自己把i加上1,因为没执行next语句,i不会自增
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友95cc616
2014-01-29 · TA获得超过251个赞
知道小有建树答主
回答量:448
采纳率:100%
帮助的人:273万
展开全部
dim i as long
for i=1 to 10000
if chkit then

call subA'假设chkit函数每次需要占用1秒的时间

else

exit for
end if

next
在上面的代码中,如果不加exit for ,会很惨的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式