Visual Basic 9 不完全入门之语法糖
【IT168 技术文档】
引言
在 Visual Basic 9 Beta 1 中,有着 LINQ 这样重量级的增强,也有着一些“微不足道的”语法糖。这些语法糖并不影响最终编译出的 IL,但足以减轻程序员们的工作量,实现更高效,更轻松的开发。
语法糖有哪些?
1. 局部变量类型推测
2. 数组初始化器
3. 对象初始化器
语法糖好吃吗?
个人认为,这些语法糖还是比较美味的。对象初始化器就很不错;局部变量类型推测也相当好用。
语法糖怎么吃?
1. 局部变量类型推测
Visual Basic 9 之前,只能用 As 语句定义一个强类型对象。而在 VB9 中,允许免除局部变量的类型声明,由初始化语句确定。看示例:
'Visual Basic 9 之前 Dim List As List(Of String) = New List(Of String) 'Visual Basic 9 Dim List = New List(Of String)
不要担心性能问题;它是编译时由编译器进行推测的,是一种强类型的特性。
同时,VB9 还支持 For (For Each) 的循环变量推测,无需再临时定义循环变量。
Dim Sample As Integer(5) 'Visual Basic 9 之前 For Each I As Integer In Sample Next 'Visual Basic 9 For Each I In Sample Next
2. 数组初始化器
Visual Basic 9 引入了简化的数组定义方法(虽然没有 Ninputer 说得那么简单),可以帮助程序员们缩减代码工作量。很简单,看代码:
'Visual Basic 9 以前
Dim OldArr As Integer() = New Integer(){1, 2, 3}
'Visual Basic 9
Dim 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 语句放进初始化语句一般。从此,许多原本需要数行代码的功能,可以集成到一句完成。
0
相关文章
