📄 a971116.gb_
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>初级篇:For 回圈及 While 回圈哪一个比较快?</TITLE>
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (Win95; I) [Netscape]">
<META NAME="Author" CONTENT="KJ Wang">
</HEAD>
<BODY TEXT="#202020" BGCOLOR="#FFFFFF" LINK="#FF0000" VLINK="#000080" ALINK="#FF0000">
<H2 ALIGN=CENTER><A HREF="vbba.htm">新观念的 VB5 教本</A></H2>
<H3 ALIGN=CENTER><A HREF="../vbweeks.htm">每周一问</A>: 挑战您的 VB 功力 (初级篇, 97/11/16)</H3>
<H2>
<HR WIDTH="100%"></H2>
<TABLE WIDTH="100%" >
<TR VALIGN=TOP>
<TD NOWRAP>Q:</TD>
<TD>以下两种回圈哪一个速度比较快?
<TABLE BORDER=1 WIDTH="80%" >
<TR VALIGN=TOP>
<TD>' 回圈一<BR>
i = 1 <BR>
While i <= Len(S) <BR>
... Do Something<BR>
i = i + 1 <BR>
Wend </TD>
<TD>' 回圈二<BR>
For i = 1 To Len(S)<BR>
... Do Something<BR>
Next </TD>
</TR>
</TABLE>
</TD>
</TR>
<TR VALIGN=TOP>
<TD>A:</TD>
<TD>回圈二比较快, 但只快一点点, 实际上并不明显。
<P>回圈二比较快的原因是, <FONT COLOR="#0000FF">For i = 1 To </FONT><FONT COLOR="#FF0000">Len(S)</FONT>
回圈中的 Len(S) 只會计算一次,举例来说, 若 S = "12345", 则
For i = 1 To Len(S) 相当於 For i = 1 to 5, 将来不管 S 字串发生什麼变化,
回圈还是执行 5 次。</P>
<P>至於回圈一 <FONT COLOR="#0000FF">While i <= </FONT><FONT COLOR="#FF0000">Len(S)</FONT>
中的 Len(S) 则是回圈每执行一次, 就计算 S 的长度一次, 因此, 若 S 字串在回圈中有所改变(例如长度变长或变短),
While 回圈的执行次数就會受到影响。</P>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -