畅享博客 > 非鱼评影 > 程序设计 > Visual Basic 2005新功能点评(二)——有用的小语法
2005-11-11 20:28:32

Visual Basic 2005新功能点评(二)——有用的小语法

Visual Basic 2005除了增加令人振奋的新功能以外,还增加了很多实用的小语法。比如本文要介绍的Continue语句、Using语句、Clear语句、数组定义的新语法、Global关键字等。

一、Continue语句

以前Visual Basic语法的一个重要缺陷是无法提前结束单前一轮循环,直接进入下一轮循环。如果需要此功能,只能用GoTo语句。现在,Visual Basic 2005增加了Continue语句来实现此功能。Continue必须紧接For、Do或While语句,表示提前进入该循环的下一轮:

For i As Integer = 1 To 100    'Some codes    Continue For    'Some other codesNext

和Exit语句一样,Continue语句可以跨越不同的循环执行,如:

For i As Integer = -10 To 10
    Do While j <= GetInteger(i)
        'codes        If i > 0 Then Continue For        'codes    Loop
Next

二、Using语句

在C#里有一种using语句,在using语句中初始化的变量可以自动调用Dispose方法而被处置。using语句的实质是一个try...finally结构。现在Visual Basic 2005也具有这个语法:

Using r As New StreamReader(”c:\\mytext.txt”)
    s = r.ReadToEnd()
End Using

当语句跳出Using块时,r.Dispose()将自动被调用,确保非托管资源被顺利释放。使用Using语句要注意,Using中的变量必需实现IDisposable接口,而且要在进入Using前正确初始化。

三、数组的新语法

以前VB的数组支持下界从指定的数值开始,而VB.NET则要求数组下界必须从0开始。这个改变让很多开发者感到别扭。Visual Basic 2005增加了一个新的语法,让有指定下界习惯的开发者“感觉好一点”:

Dim a(0 To 100) As Integer

其实,还是只能从0开始,但是现在可读性更高了,一眼就可以看出数组的下界和上界。

四、Global关键字

在Visual Basic .NET中,命名空间的判定上有一个问题,那就是它在寻找命名空间时总是从最近的范围开始。见下列代码:

Namespace MySpace
    Namespace System
        Public Module EntryPoint
            Public Sub Main()
                Dim r As Double 
                r = System.Math.Sin(1.345)
            End Sub
        End Module
    End Namespace
End Namespace

这段代码能正确编译吗?答案是不能,它会提示Math不在System命名空间中。为了解决这个问题,Visual Basic 2005提供了Global关键字,永远代表根命名空间。使用了Global之后,Visual Basic就可以从根命名空间开始查找,如上面那段代码中的黑体部分改成:

r = Global.System.Math.Sin(1.345)

就可以正确执行了。


推荐到鲜果:

评论


发布者 匿名用户
2007-8-17 15:23:31


您正在以 匿名用户 的身份发表评论  快速登录
(不得超过 50 个汉字)
       看不清,换一个
提示消息
(输入完内容可以直接按Ctrl+Enter提交)