从VB 6.0到VB.NET的转换(1)
网络整理 - 07-26
从 Visual Basic 6.0 到 Visual Basic.NET 的转换(1) Microsoft Visual Basic.NET 是 Microsoft Visual Basic? 的后续版本,它是基于 .NET 框架重新设计的,您可以用它来轻松地创建用于 Microsoft Windows? 操作系统和 Web 的下一代应用程序。使用 Visual Basic.NET,可视化开发 Web 应用程序、Web 服务、Windows 应用程序和服务器端组件将变得轻而易举。此外,Visual Basic.NET 使用了 Windows 应用程序的 XCOPY 部署方案,使您不必再担心 DLL 版本问题。随着 Visual Basic.NET 的发布,“DLL 噩梦”将成为过去。
在设计 Visual Basic.NET 时,我们着眼于世界各地 Visual Basic 开发者的要求。Visual Basic 语言现在是真正的面向对象语言,并支持实现继承。窗体设计器支持可视化继承,并包含窗体自动调整大小、资源本地化和访问选项支持等新特性。现在的数据工具继续支持 XML 数据,并可以共同使用设计时数据绑定和断开数据。此外,Visual Basic.NET 是基于 .NET 框架直接创建的,因此可以使用所有的平台特性,并能够与其他 .NET 语言协同工作。
在发布这些功能的同时,我们对产品的几个方面作了修改。本文档介绍了从 Visual Basic 6.0 到 Visual Basic.NET 的一些变更,并解释了进行这些变更的原因。本文还介绍 Visual Basic.NET 升级向导的功能。它是作为产品的一部分提供的工具,可以帮助您将现有的应用程序升级为 Visual Basic.NET 版本。
有关从 Visual Basic 6.0 升级到 Visual Basic.NET 的其他信息,请参阅白皮书《准备将 Visual Basic 6.0 应用程序升级到 Visual Basic.NET》(英文)。此白皮书介绍了升级过程并提供了尽可能顺利升级的建设性意见。
语言
Variant
Visual
Basic 6.0 Variant 是一种特殊的“通用”数据类型,可以包含除定长字符串之外的各类数据。Object 变量用作指向对象的指针。默认的数据类型为 Variant。
Visual Basic.NET
公共语言运行时 (CLR) 使用 Object 作为通用数据类型。Visual Basic.NET 没有继续使用 Variant 作为通用数据类型,而是选择采用 CLR 命名规则,以避免在跨语言开发时造成混乱。仅使用一种通用数据类型将简化类型系统。默认的数据类型为 Object。
升级
向导
将 Variant 数据类型变为 Object,因此以下代码:
Dim x As Variant
升级后将变为:
Dim x As Object
Integer 和 Long
Visual
Basic 6.0 Long 变量存储为带有符号的 32 位数字,而 Integer 变量存储为 16 位数字。
Visual Basic.NET
Long 变量存储为带有符号的 64 位数字,Integer 变量存储为 32 位数字,而 Short 变量存储为 16 位数字。在 32 位系统中,32 位整数操作比 16 位和 64 位整数操作都要快。这意味着 Integer 将是最有效和最基本的数字类型。
由于部分 .NET 框架技术以现代的 32 位和 64 位技术为基础,因此根据新技术更新数据大小是明智之举。
升级
向导
修改变量的类型,因此以下代码:
Dim x As IntegerDim y As Long
升级后将变为:
Dim x As ShortDim y As Integer
Currency
Visual
Basic 6.0 Visual Basic 6.0 支持 Currency 数据类型。您不能将变量声明为 Decimal 类型(虽然变量可以具有子类型 Decimal)。
Currency 变量以整数格式存储为 64 位数字,以 10,000 为标度,以将数字表示为定点数,其小数点左边为 15 位,右边为 4 位。这种表示形式可以表示 -922,337,203,685,477.5808 至 922,337,203,685,477.5807 范围内的数字。
Decimal 变量存储为带有符号的 96 位整数,标度为 10 的不同乘幂。10 次幂的刻度因子指定了小数点右边的数字位数,其范围为 0 至 28。当指数为 0 时(无小数位数),最大的可能值为 +/-79,228,162,514,264,337,593,543,950,335。当指数为 28 时,最大值为 +/-7.9228162514264337593543950335,最小的非零值为 +/-0.0000000000000000000000000001。
Visual Basic.NET
Currency 数据类型的精度不够,无法避免四舍五入的误差,因此创建了 Decimal 这种数据类型。