VB2010的新語法(二) - Implicit Line Continuation
過去C#一直可以把程式碼分段來寫,直到分號 ; 視為整段程式碼的終點,而VB則是一行就是一行,除非加上 _ 符號,否則一行程式碼無法拆成多行來寫(不過倒是可以把兩行以冒號 : 隔開)。
不過這樣在一行程式碼很長時會很不方便,因此在新版的VB2010當中,有一些特殊狀況下,你可以把VB程式碼拆成兩行,Compiler還是會視為一行。
例如,逗點(,)之後或左右括號 ( ) 之前:
或是,大括號{ } 的前後 ,例如:
或是 = (其實還包含 &=, :=, +=, -=, *=, /=, \=, ^=, <<=, >>=, +, -, /, *, Mod, <>, <, >, <=, >=, ^, >>, <<, And, AndAlso, Or, OrElse, Like, Xor, Is, IsNot...等運算子) 或 & 符號之後,例如:
還有LINQ查詢語法的關鍵字之後, 例如:
這樣,果然方便多了。
不過這樣在一行程式碼很長時會很不方便,因此在新版的VB2010當中,有一些特殊狀況下,你可以把VB程式碼拆成兩行,Compiler還是會視為一行。
例如,逗點(,)之後或左右括號 ( ) 之前:
Public Function Add(ByVal Number1 As Integer,
ByVal Number2 As Integer
) As Integer
Return Number1 + Number2
End Function
或是,大括號{ } 的前後 ,例如:
Dim info As Integer() = {
1, 3, 5, 7, 9
}
或是 = (其實還包含 &=, :=, +=, -=, *=, /=, \=, ^=, <<=, >>=, +, -, /, *, Mod, <>, <, >, <=, >=, ^, >>, <<, And, AndAlso, Or, OrElse, Like, Xor, Is, IsNot...等運算子) 或 & 符號之後,例如:
Dim msg As String =
"Hello, " &
"Silverlight "
還有LINQ查詢語法的關鍵字之後, 例如:
Dim a() As String = {"123", "456", "789", "ABC", "DE1"}
Dim ret = From c In a
Where c.Contains("1")
Select c
這樣,果然方便多了。
留言