VB.NET是一款功能强大,应用广泛的面向对象的编程语言。其中有很东西都值得我们去深入的研究。关于VB.NET冒号,给许多人的印象都是:“一行可书写几句语句”。这么说是对的,但是有一种情况是不对的,那就是在条件语句中。
这也是做一个VB项目升级的时候遇到,因为这个问题我查了好长时间程序,一直在找VB的中的效果是如何实现的呢?现在发现那是一个非常大的bug。我觉得这不是程序员的错误,应该是VB语法上的漏洞。如果有理解不对的地方欢迎大家指教。
看一个VB.NET冒号的例子吧:
- 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.NET冒号的语法对于不熟悉VB的人做代码移植应该是一个非常隐蔽的bug。希望能够对大家有帮助。
以上对VB.NET冒号的介绍只是我个人的见解,如果有不同意见的欢迎一起交流。
【编辑推荐】