引言
在Visual Basic 9 Beta 1中,有著LINQ這樣重量級的增強,也有著一些“微不足道的”語法糖。這些語法糖並不影響最終編譯出的IL,但足以減輕程序員們的工作量,實現更高效,更輕松的開發。
語法糖有哪些?
1、局部變量類型推測
2、數組初始化器
3、對象初始化器
語法糖好吃嗎?
個人認為,這些語法糖還是比較美味的。對象初始化器就很不錯;局部變量類型推測也相當好用。
語法糖怎麼吃?
1、局部變量類型推測
Visual Basic 9之前,只能用As語句定義一個強類型對象。而在VB 9中,允許免除局部變量的類型聲明,由初始化語句確定。看示例:
1'Visual Basic 9 之前
2Dim List As List(Of String) = New List(Of String)
3'Visual Basic 9
4Dim List = New List(Of String)
不要擔心性能問題;它是編譯時由編譯器進行推測的,是一種強類型的特性。
同時,VB 9還支持For(For Each)的循環變量推測,無需再臨時定義循環變量。
1Dim Sample As Integer(5)
2'Visual Basic 9 之前
3For Each I As Integer In Sample
4
5Next
6'Visual Basic 9
7For Each I In Sample
8
9Next
2、數組初始化器
Visual Basic 9引入了簡化的數組定義方法,可以幫助程序員們縮減代碼工作量。很簡單,看代碼:
1'Visual Basic 9 以前
2Dim OldArr As Integer() = New Integer(){1, 2, 3}
3'Visual Basic 9
4Dim NewArr As Integer() = {1, 2, 3}
3、對象初始化器
對象初始化器是一項重要的語法增強,它對於Coding有著莫大的幫助。我們知道,在Visual Basic 8及以前版本中,必須用屬性逐一賦值的方式來創建一個類。而在Visual Basic 9中,一切都不同了:
'Visual Basic 8
Dim OldArea As New Area
With OldArea
.Subject = "北京"
End With
'Visual Basic 9
Dim NewArea As New Area With {.Subject = "北京"}
這種語法表達方式,擴展了“表達式”所能表達的內容,好像把With 語句放進初始化語句一般。從此,許多原本需要數行代碼的功能,可以集成到一句完成。