淺析VB.NET冒號(hào)相關(guān)應(yīng)用方法
VB.NET是一款功能強(qiáng)大,應(yīng)用廣泛的面向?qū)ο蟮木幊陶Z言。其中有很東西都值得我們?nèi)ド钊氲难芯?。關(guān)于VB.NET冒號(hào),給許多人的印象都是:“一行可書寫幾句語句”。這么說是對(duì)的,但是有一種情況是不對(duì)的,那就是在條件語句中。
這也是做一個(gè)VB項(xiàng)目升級(jí)的時(shí)候遇到,因?yàn)檫@個(gè)問題我查了好長時(shí)間程序,一直在找VB的中的效果是如何實(shí)現(xiàn)的呢?現(xiàn)在發(fā)現(xiàn)那是一個(gè)非常大的bug。我覺得這不是程序員的錯(cuò)誤,應(yīng)該是VB語法上的漏洞。如果有理解不對(duì)的地方歡迎大家指教。
看一個(gè)VB.NET冒號(hào)的例子吧:
- If Row1 = -1 Then
Row1 = 0:
If Row2 = -1 Then
Row2 = .MaxRows
我們一般的理解是執(zhí)行完第一if語句接著將執(zhí)行第二個(gè)語句,應(yīng)該是下面的樣子:
- If Row1 = -1 Then
Row1 = 0- If Row2 = -1 Then
Row2 = .MaxRows
但是事實(shí)上不是這樣的,變成下面的形式了。這樣的形式并不是我們想要的結(jié)果。
- If Row1 = -1 Then
- Row1 = 0
- If Row2 = -1 Then
Row2 = .MaxRows- End If
我想這個(gè)VB.NET冒號(hào)的語法對(duì)于不熟悉VB的人做代碼移植應(yīng)該是一個(gè)非常隱蔽的bug。希望能夠?qū)Υ蠹矣袔椭?/p>
以上對(duì)VB.NET冒號(hào)的介紹只是我個(gè)人的見解,如果有不同意見的歡迎一起交流。
【編輯推薦】