精用Boolean表达式,让代码再减肥

发表于:2007-06-21来源:作者:点击数: 标签:
当设置基于表达式结果的Boolean型数值时,要避免使用多余的If/Then/Else语句结果。比如: If SomeVar SomeOtherVar Then BoolVal = True Else BoolVal = False End If 上面这段代码就很烦琐,它们完全可以使用下面的一行代码来替代: BoolVal = (SomeVar Som

   

当设置基于表达式结果的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)

原文转自:http://www.ltesting.net