技术开发 频道

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
相关文章