?? 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 + -