关于VB中的冒号,给许多人的印象都是:“一行可书写几句语句”。这么说是对的,但是有一种情况是不对的,那就是在条件语句中。这也是做一个VB项目升级的时候遇到,因为这个问题我查了好长时间程序,一直在找VB的中的效果是如何实现的呢?现在发现那是一个非常大的bug。我觉得这不是程序员的错误,应该是VB语法上的漏洞。如果有理解不对的地方欢迎大家指教。
看一个例子吧:
1 If Row1 = -1 Then Row1 = 0: If Row2 = -1 Then Row2 = .MaxRows
我们一般的理解是执行完第一if语句接着将执行第二个语句,应该是下面的样子:
If Row1 = -1 Then Row1 = 0
If Row2 = -1 Then Row2 = .MaxRows
但是事实上不是这样的,变成下面的形式了。这样的形式并不是我们想要的结果。
If Row1 = -1 Then
Row1 = 0
If Row2 = -1 Then Row2 = .MaxRows
End If
我想这个语法对于不熟悉VB的人做代码移植应该是一个非常隐蔽的bug。希望能够对大家有帮助。
这只是我个人的见解,如果有不同意见的欢迎一起交流!
转载于:https://www.cnblogs.com/liaocheng/p/4243310.html