關於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。希望能夠對大家有幫助。
這只是我個人的見解,如果有不同意 見的歡迎一起交流