敬业的IT人 >> 编程开发 >> .Net技术 >> Visual Basic 9 不完全入门之语法糖

Visual Basic 9 不完全入门之语法糖

敬业的IT人 互联网 佚名 2008-5-23 21:01:20
本文转自博客园,文中内容不代表本站观点,仅提供参考。

  引言

  在 Visual Basic 9 Beta 1 中,有着 LINQ 这样重量级的增强,也有着一些“微不足道的”语法糖。这些语法糖并不影响最终编译出的 IL,但足以减轻程序员们的工作量,实现更高效,更轻松的开发。

  语法糖有哪些?

  1. 局部变量类型推测

  2. 数组初始化器

  3. 对象初始化器

  语法糖好吃吗?

  个人认为,这些语法糖还是比较美味的。对象初始化器就很不错;局部变量类型推测也相当好用。

  语法糖怎么吃?

  1. 局部变量类型推测

  Visual Basic 9 之前,只能用 As 语句定义一个强类型对象。而在 VB9 中,允许免除局部变量的类型声明,由初始化语句确定。看示例:

1Visual Basic 9 不完全入门之语法糖(图一)'Visual Basic 9 之前
2Visual Basic 9 不完全入门之语法糖(图二)Dim List As List(Of String) = New List(Of String)
3Visual Basic 9 不完全入门之语法糖(图三)'Visual Basic 9
4Visual Basic 9 不完全入门之语法糖(图四)Dim List = New List(Of String)
  不要担心性能问题;它是编译时由编译器进行推测的,是一种强类型的特性。

  同时,VB9 还支持 For (For Each) 的循环变量推测,无需再临时定义循环变量。

1Visual Basic 9 不完全入门之语法糖(图五)Dim Sample As Integer(5)
2Visual Basic 9 不完全入门之语法糖(图六)'Visual Basic 9 之前
3Visual Basic 9 不完全入门之语法糖(图七)For Each I As Integer In Sample
4Visual Basic 9 不完全入门之语法糖(图八)   Visual Basic 9 不完全入门之语法糖(图九)
5Visual Basic 9 不完全入门之语法糖(图十)Next
6Visual Basic 9 不完全入门之语法糖(图十一)'Visual Basic 9
7Visual Basic 9 不完全入门之语法糖(图十二)For Each I In Sample
8Visual Basic 9 不完全入门之语法糖(图十三)   Visual Basic 9 不完全入门之语法糖(图十四)
9Visual Basic 9 不完全入门之语法糖(图十五)Next
  2. 数组初始化器

  Visual Basic 9 引入了简化的数组定义方法(虽然没有 Ninputer 说得那么简单),可以帮助程序员们缩减代码工作量。很简单,看代码:

1Visual Basic 9 不完全入门之语法糖(图十六)'Visual Basic 9 以前
2Visual Basic 9 不完全入门之语法糖(图十七)Dim OldArr As Integer() = New Integer(){1, 2, 3}
3Visual Basic 9 不完全入门之语法糖(图十八)'Visual Basic 9
4Visual Basic 9 不完全入门之语法糖(图十九)Dim NewArr As Integer() = {1, 2, 3}
  3. 对象初始化器

  对象初始化器是一项重要的语法增强,它对于 Coding 有着莫大的帮助。我们知道,在 Visual Basic 8 及以前版本中,必须用属性逐一赋值的方式来创建一个类。而在 Visual Basic 9 中,一切都不同了:

Visual Basic 9 不完全入门之语法糖(图二十)'Visual Basic 8
Visual Basic 9 不完全入门之语法糖(图二十一)Dim OldArea As New Area 
Visual Basic 9 不完全入门之语法糖(图二十二)With OldArea
Visual Basic 9 不完全入门之语法糖(图二十三)    .Subject = "北京"
Visual Basic 9 不完全入门之语法糖(图二十四)End With
Visual Basic 9 不完全入门之语法糖(图二十五)
Visual Basic 9 不完全入门之语法糖(图二十六)'Visual Basic 9
Visual Basic 9 不完全入门之语法糖(图二十七)Dim NewArea As New Area With {.Subject = "北京"}
  这种语法表达方式,扩展了“表达式”所能表达的内容,好像把 With 语句放进初始化语句一般。从此,许多原本需要数行代码的功能,可以集成到一句完成。

  本文作者保留全部权力,禁止用于商业用途,非商业用途转载请附加 www.soobb.com链接。 更多文章 更多内容请看Solaris基础知识入门专题,或进入讨论组讨论。 更多专题 【深 度 阅 读】 相 关 文 章
  • 如何用Visual Basic编写病毒
  • Visual Basic .NET处理Excle表格全接触
  • Visual Basic 安装程序的制作
  • Visual Basic.NET访问数据方法
  • 粤ICP备06119539号
    Copyright CiscoSky.Org,Some Rights Reserved.
    Email:me1228#tom.com