下面来看一段笔者经常见到的程序:
If Command1.Enabled
= True Then Text1.Text = "ok"
在IF语句后面的条件表达式为“真”时就会执行Then
后面的语句,所以这里完全没有必要再判断“真是否为真”。高效的写法是:
If
Command1.Enabled Then Text1.Text =
"ok"
又如,下列程序也是低效的写法:
If lngFlag<>0
Then Text1.Text = "ok"
高效的写法是:
If
lngFlag Then Text1.Text =
"ok"
因为非0值都表示“真”,只有0值才表示“假”。lngFlag不为0,本身就表示“真”。
字符串为空串的判断
判断一个字符串是否为空串时,有不少程序员喜欢用字符串是否等于空串(“”)来判断:
If strFile =
"" Then Exit Sub
这种方式效率是比较低的,因为系统必须做一个字符串的比较。
比较高效的写法是用字符串的长度是否为0来判断:
If Len(strFile) = 0
Then Exit Sub
因为在VB中存储字符串数据的机制与c/c++不同,有一个专门的内存单元用来保存字符串的长度。因此在VB中获取一个字符串的长度是一件非常容易的事。我们要利用这个特点,善于使用获取字符串长度的函数Len,其效率要比直接做字符串比较提高许多倍。