Visual Basic NET提供了一些数据类型的自动转换但最好不要依赖这些因为可能会忘记这些转换显式转换可以确切地表明代码的功能在您(或其他人)以后查看该代码时可以作为一个有效的说明类型之间的转换并没有一个简单的语法但各种方法中存在许多共同之处
转换为字符串值是最简单的因为每个数据类型都有一个ToString方法例如将年龄转换成一个TextBox可以使用
AgeTextboxText=AgeToString()
对于Boolean类型转换方法也相同但字符串值为True或False
将字符串值转换为另一种类型稍许复杂因为没有任何String类型的方法能够自动实现相反必须使用一个单独的类来实现这种转换
使用架构类转换数据类型
如果使用架构类(framework class)则存在两种方法可以将字符串值转换为其他类型以防您在代码中看到这两种方法这里有必要介绍一下第一种方法是使用大多数数据类型都支持的Parse方法例如为了将TextBox控件中存储的数字转换为一个Integer数据类型可以执行
Dim Age As Integer
Age=IntegerParse(AgeTextBoxText)
这里的Parse方法分析了传递给它的值也就是说它读取该值检查它是否为整数值然后将它转换为整数要转换的值来自AgeTextBox控件的Text属性该值是一个字符串因此该字符串被传递给Parse方法将它转换为一个整数然后返回该整数将它赋值给Age变量
除了Object外其他所有数据类型都支持Pare方法即使您对相同的语法使用不同的数据类型例如
Dim ANumber As Double
ANumber=DoubleParse(NumberTextBoxText)
实现数据转换的第二种方法是使用Convert类它可以在类型之间进行转换该类非常灵活它能在所有的类型之间转换但需要有CLR类型的知识例如前面使用整数的示例可以改写为
Dim Age As Integer
Age=ConvertToInt(AgeTextBoxText)
对于双精度类型该语句为
Dim ANumber As Double
ANumber=ConvertToDouble(NumberTextBoxText)
在实际转换类型时Convert类和数据类型的类之间并没有什么不同使用Convert类的惟一原因是它能够简化代码从而转换为另一种语言在编写Wrox United的Web站点时这一点非常重要但如果您打算坚持一种语言这一点或许也并不重要
ASPNET 入门教程完整版
[] []