- UID
- 3260
- 精华
- 积分
- 648
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
VisualBasic6:微软出品、简单易用,虽然几十年前的,依旧生命顽强,以下简称:VB6
VisualFreeBasic:集合VB6的易用和采用c语言的优点及编程底层操作,VB6高手的进阶语言,以下简称:VFB
有种逻辑操作符叫:短路。顾名思义就是路径比较短,那换成代码执行就更高效率了。这是VB6不存在的。
正常逻辑是:And、Or
短路逻辑是:AndAlso、OrElse
本来VFB比VB6代码执行效率高很多,有了这个更能加速。例题:- '平常写法
- If 表达式a And 表达式b Then ok
- '短路逻辑
- If 表达式a AndAlso 表达式b Then ok
复制代码 看上去一样,但实际上是不一样的,等效下面的语句- If 表达式a Then
- If 表达式b Then ok
- End If
复制代码 平常写法的特性:表达式a 和 表达式b 必须都要在计算得出结果后再进行And方式的逻辑比较,才能判断出条件是否成立。
短路写法的特性:表达式a 如果不成立,那么 表达式b 就不需要再进行计算了——已经足以判断出条件不成立了。而如果 表达式a 成立,则依然要计算 表达式b 的结果。
最有说明的应用就是数组,判断是不是发生越界访问了:- If UBound(BB) >= 5 AndAlso BB(5) > 0 Then
复制代码 平常写法会因为数组太少而发生代码出错,短路写法则不会发生这问题。
上述例子用的是逻辑与的短路写法“AndAlso”,下面我们来介绍逻辑或的短路写法“OrElse”
平常写法的特性:所有表达式必须都要在计算得出结果后再进行Or方式的逻辑比较,才能判断出条件是否成立。- If 表达式a Or 表达式b Or 表达式c Then ok
复制代码 短路写法的特性:先计算 表达式a 的结果,成立就直接OK,不成立则按顺序接着计算 表达式b ,如果成立则同样OK;表达式a 和 表达式b 如果都不成立,则计算 表达式c ,如果成立则OK,否则进入Else块或者结束。- If 表达式a OrElse 表达式b OrElse 表达式c Then ok
复制代码 以上只是冰山一角,更多发现,期待你自己使用VFB。
重新排版by @0xAA55 |
|