在开发软件时,常常需要提取一个数值,把它转换为一个字符串,显示在文本框中。另外,还需要从文本框中提取输入信息,把它转换为一个数值。这些转换操作可以用两种方式完成:隐式转换和显式转换。
隐式转换可以利用系统在运行期间提取数值,并把它转换为新类型,且不需要任何提示口VisualBasic的默认设置常常允许开发人员编写包含许多隐式转换的代码。
显式转换要求开发人员明确指定修改变量的类型,并将它赋予另一个变量。与隐式转换不同,显式转换在代码中很容易识别。一些语言(如C#)要求,所有类型不安全的转换都通过显式转换完成,否则就会抛出一个错误。
Visual Basic的以前版本允许在不符合传统隐式转换规则的类型之间进行隐式转换。在Ⅵsual Basic的新版本中仍支持这个功能,因为Visual Basic的一个目标是支持快速的原型化。在快速原型模型中,开发人员编写的代码可能仅用于演示,但不用于部署。因为在讨论隐式转换时,应总是考虑到这对于软件开发而言并不是最佳实践方式。
即使选择允许进行隐式转换,这种转换也只能在相当有限的数据类型上进行。有时需要进行显式转换。下面的例子说明了打开Option Strict时,如何在不同的整数类型之间进行转换:
dim myShort As Short
Dim myUInt16 As Ulnt16
Dim mylnt16 As Int16
Dim mylnteger As Integer
Dim myUInt32 As UInt32
Dim mylnt32 As Int32
Dim myLong As Long
Dim mylnt64 As Int64
myS