?? a980215.gb_
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>初級篇: If S="" Then 與 If Len(S)=0 Then 何者速度較快?</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 功力 (初級篇, 98/02/15)</H3>
<H2>
<HR WIDTH="100%"></H2>
<TABLE WIDTH="100%" >
<TR VALIGN=TOP>
<TD NOWRAP>Q:</TD>
<TD>If S="" Then 與 If Len(S)=0 Then 何者速度較快?
<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=4 WIDTH="80%" >
<TR VALIGN=TOP>
<TD>
<PRE><FONT SIZE=+1>Dim S As String
S = "ABCDEFGHIJ"
If S = "" Then <FONT COLOR="#008000">' 是否等於空字串
</FONT> ...
End If</FONT></PRE>
</TD>
<TD>
<PRE><FONT SIZE=+1>Dim S As String
S = "ABCDEFGHIJ"
If Len(S) = 0 Then <FONT COLOR="#008000">' 利用長度來判斷空字串
</FONT> ...
End If</FONT></PRE>
</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR VALIGN=TOP>
<TD>A:</TD>
<TD>結果是 <FONT COLOR="#FF0000">If Len(S) = 0 Then</FONT> 比較快,因為數值的運算速度要比字串快。
<P>有經驗的 C 語言程式設計師可能會以為 If Len(S)=0 Then 比較慢, 因為對
C 語言而言, 計算長度的方法是判斷 Chr(0) 字元的所在位置, 字串的長度越長,
則計算長度的函數就會多花一點時間, 因此認為 Len(S) 會比較費時。</P>
<P>但是對 VB 而言, 字串的內部結構中除了包含字串本身之外, 還包含字串的長度,
而 Len(S) 不過是將字串結構中的「字串長度」部分取出來, 所以不像 C 語言一樣,
會額外費去計算的時間。</P>
</TD>
</TR>
</TABLE>
<P>
<HR WIDTH="100%"></P>
</BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -