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