您的位置:逆风者 VB 正文
原作者:www.upwinder.com 添加时间:2007-09-12 原文发表:2007-08-31 人气:15 来源:未知

当设置基于表达式结果的Boolean型数值时,要避免使用多余的If/Then/Else语句结果。比如:

If SomeVar > SomeOtherVar Then

BoolVal = True

Else

BoolVal = False

逆风编程技术
End If

上面这段代码就很烦琐,它们完全可以使用下面的一行代码来替代:

BoolVal = (SomeVar > SomeOtherVar)

括号不是必须的,但可以增加可读性。根据表达式中的操作数不同,后者比前者执行起来大约快50%到85%。后者中的括号对速度没有影响。

有时,使用这个技术实现代码的简练并非很明显。关键是要牢记:所有的比较操作结果或者是0(false),或者是-1(True)。所以,下面例子中的2段代码是完全相同的,但是第2段要运行得快些:

1、传统方法:

If SomeVar > SomeOtherVar Then

x = x 1

End If

2、更简练的方法

x = x - (SomeVar > SomeOtherVar)

相关文章

减少DoEvents语句的数量
用Mid$命令超速字符串添加操作
表单及控件的引用阻止了表单的卸载
快速初始化Variant和String类型数组
另辟蹊径处理字符串中的字符:字节数组法
快速找到选中的OptionButton
从头开始删除集合项目
妙用Replace函数替代字符串连接操作符
VB中OLE调用的优化方法
善用 Assume No Aliasing 编译选项
除法运算符 \ 与 / 的区别
函数名巧做局部变量
未公开的返回数组型函数加速秘诀
访问简单变量总是快于数组元素值
深入使用LIKE操作符
火眼识破隐藏的Variant变量
为常量定义合适的类型
使用 $-类型 字符串函数会更快
创建任意长度重复字符串的简洁方法
And、Or和Xor:让我们来优化表达式

相关评论


本文章所属分类:首页 VB

  热门关键字: