如果加上类型推断,代码就更简单了。
3) 对象初始化(Object Initializers)
总的来说,在.net framework里,对象初始化是一种类似于把Dim和statement combined整合在一起的表达式。这样使得参数构造器多少让人容易接受一些:
Dim strm As New StreamWriter( _
New FileStream("C:\out.txt",FileMode.OpenOrCreate) _
With {.Position = 10})
对象初始化使得创建一个数组对象更加容易:
Dim Capitals() As City = {New City With {.Name = "Antanarivo", .Country = "Madagascar"}, _
New City With {.Name = "Belmopan", .Country = "Belize"}, _
New City With {.Name = "Monaco", .Country = "Monaco"}, _
New City With {.Country = "Palau", .Name = "Koror"}}
4) Nullable
Nullable 是一种特性,可能你知道但没有关注过。它是一个基本的.NET 表达式,专门针对nullable类型,主要用于LINQ。Nullable支持你写一段代码,其中的属性以null值传播。例如下面这点代码,在Country type中有个independence property 是nullable date。
Dim virginIslands As New Country With {.Independence = Nothing}
Dim palau As New Country With {.Independence = #10/1/1994#}
Dim vILength = #8/24/2005# - virginIslands.Independence ' Nothing
Dim pLength = #8/24/2005# - palau.Independence ' 3980.00:00:00
5) LINQ to DataSet
它意味着你可以不用调用其他数据访问技术就能收获LINQ的好处。先填充一个DataSet,然后就可以对这个DataSet进行查询。
Me.EmployeesTableAdapter.Fill(Me.NORTHWNDDataSet.Employees)
Dim query = From emp In Me.NORTHWNDDataSet.Employees _
Where emp.Country = "USA" _
Order By emp.HireDate _
Select emp
Me.EmployeesBindingSource.DataSource = query
6) 语法提示(Syntax Tooltips)
看看这个是不是很cool?