当前位置: 网学 > 编程文档 > VB > 正文

从Visual Basic 6.0 到 Visual Basic.NET 的转换

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
但是,如果代码尝试使用已设置为 Nothing 的类,将导致运行时异常。该异常很容易检测到。然后,可以方便地修改代码以实例化类的新版本,如下例所示:
Dim x As New MyClass
x = Nothing
x = New MyClass

对象终结
Visual Basic 6.0
COM 引用计数机制用于垃圾回收对象实例。如果对象不在循环中,当对象不再使用,引用计数会立即检测到此情况,并且运行终结代码。

Visual Basic.NET
跟踪垃圾回收器从存储在堆栈变量、模块变量和共享变量中的可及引用开始,将对象过一遍。此跟踪进程作为后台任务运行,因此在指向对象的最后一个引用结束和添加新引用之间有一个不定的时间段。
在某些情况下,客户端确实需要能够强制某一对象释放资源。CLR 规定这样的对象应当实现 IDisposable 接口,这就提供了 Dispose 方法。当客户端结束对具有 Dispose 方法的对象的使用时,它可以显式调用 Dispose 方法以释放其资源。例如,包装数据库连接的对象应当公开 Dispose 方法。
跟踪垃圾回收器能够正确释放引用循环中的对象。此外,跟踪垃圾回收器的性能比引用计数要好得多。

升级向导

在大多数情况下,这一改变不会导致问题。如果您的代码中使用了资源句柄开放(连接或文件句柄),则必须显式关闭此句柄。此问题易于检测并会导致运行时错误。

数组
Visual Basic 6.0
数组可以由任何整数数字的上下限限定。如果在声明中未指定下限,将使用 Option Base 语句确定默认下限。

Visual Basic.NET
为了与其他语言协同操作,所有数组的下限均必须为零。这样就不再需要 Option Base 语句。

升级向导

ReDim
Visual Basic 6.0
Visual Basic 6.0 中的固定大小数组和不定大小数组有所区别。固定大小数组通过 Dim 语句声明,在此语句包括此声明中的数组界限。动态数组在 Dim 语句中声明,不指定界限信息。在使用动态数组之前,需要通过 ReDim 语句重新标注动态数组。在 Visual Basic 6.0 中,ReDim 语句提供了在单个语句中为动态数组声明和分配空间的快捷方法。ReDim 语句是 Visual Basic 6.0 中唯一能够同时声明和初始化变量的语句。

Visual Basic.NET
ReDim 语句仅用于为数组分配或重新分配空间,而不能用于重新分配数组。这是因为 Visual Basic.NET 中的所有数组均是动态的,在 Visual Basic.NET 中 Dim 语句既可用于声明动态数组,又可用于初始化动态数组。 由于所有变量声明均可声明变量并指定变量的初始值,使用 ReDim 同时声明和初始化变量就变得多余和不必要了。只需要 Dim 语句声明变量使语言更加简单、一致性更高。

升级向导

如果 ReDim() 用于声明数组,在代码中会自动插入相应的声明。但是,最好的方法是您自己先在数组中插入 Dim 语句,因为使用 ReDim 声明数组需要升级工具来推断正确的声明。使用 ReDim 也产生了不便处理的代码,因为数组在两处进行了同一声明。

赋值
Visual Basic 6.0
赋值形式有两种:Let 赋值(默认)和 Set 赋值。用 Set 语句为 cn 赋值。
Visual Basic.NET
仅有一种赋值形式。x = y 意味着将变量或属性 y 的值赋给变量或属性 x。对象类型变量的值是对对象实例的引用,因此如果 x 和 y 是引用类型的变量,将执行引用赋值。这种单一形式的赋值减少了语言的复杂性,并使代码可读性更强。

升级向导

删除 Set 和 Let 语句。解析强类型对象的默认属性,并将属性显式添加到代码中。
有关该主题的全面说明,请参阅白皮书《准备将 Visual Basic 6.0 应用程序升级到 Visual Basic.NET》(英文)。

And、Or、Xor 和 Not
Visual Basic 6.0
And、Or、Xor 和 Not 运算符可以执行逻辑运算或位运算(取决于表达式)。

Visual Basic.NET
And、Or 和 Xor 仅适用于布尔型。对于 And 和 Or 运算符,如果第一个运算数的值足以确定运算符的结果,则运算符将简化计算。新的运算符 BitOr
  • 下一篇资讯: 微软.Net程序设计FAQ
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号