VB.NET中的数据类型有很多特点,和其他语言有不同之处。那么怎样才能正确的理解这些数据类型来帮助我们提高开发效率呢?今天就先为大家介绍一下VB.NET数据类型的基础概念,作为大家的学习参考对象。
VB.NET数据类型之字符数据类型
字符数据类型是用来处理打印和显示字符的。Char包含单个字符,String则包含多个字符。VB.NET中Char和数字类型可以进行转换,但要通过Ascw和Chrw等函数来完成。如果类型检查开关被打开,则必须在声明时在单个字符后面加上值类型字符C,用以标识。例如下面语句:
- Option strict on
- Dim Emaiin as char
- Emailn=”@” //
打开了类型检查开关,
此时不可以将其转换为Char- Emailn=”@”C //
成功转换
String类型为零个或多个16位字符序列,每个字符取值为0~65 535。当字符串被填充了空格的时候,可以用这些函数来清除:Trim,Ltrim,Rtrim。其标识符类型字符为$,没有值类型符号。
其他VB.NET数据类型
布尔数据类型包含True和False两种值,在默认状态下是为False。这个数据类型中True的值为1,布尔类型没有值类型符号。如果将布尔值强制转换为非布尔类型时,代码中将带有升级警告。例如下面语句:
- Dim Sendagain as Boolean
- Dim Number as Integer
- Number=Sendagain
转换以后为
- Dim Sendagain as Boolean
- Dim Number as Integer
- UPGRADE—WARNING:Boolean
Sendagain is being
converted into a unmeric- Number=Sendagain
VB.NET数据类型中的Date类型是一个64位的有符号整数。在VB 6.0中Date以Double格式存储,能够作为Double类型的变量来操作。而在VB.NET中由于Date的类型存储为64位,所以无法再作为Double类型来进行操作,但却为两者的转换提供了相关的函数:ToOADate和FromOADate。在进行源代码升级时,升级工具没有办法自动检测到所有这种转换的情况,但是它会在相应的地方插入以上两个函数,例如语句:
- Dim daynum as Double
- Dim day as Date
- Daynum=day
升级以后为
- Dim daynum as Double
- Dim day as Date
- Daynum=daY.ToOADate
Date变量每加1,就代表着100ns的时间间隔,其中存储了从公元1年1月1日中午12点到现在的时间间隔。Date类型的变量或者是常量可以同时保存日期和时间。例如:
- somedate=#8/5/2002 8:38AM#;
Date没有值类型符号,但是在编译时会把在#之间的值看作为Date。
对象类型是VB.NET数据类型中新增加的一个数据类型,原因是.NET采用了cLR命名规则,作用是避免跨语言开发时出现名称混乱。VB 6.0中默认的Variant数据类型,在VB.NET中变为Object类型。例如语句:
- Dim x As Variant
升级以后为
- Dim x As Object
如果变量声明为Obiect,则它可以指向任何程序可处理的对象,但是在声明时最好指定为特定的VB.NET数据类型,而不要指定为通用的Object。编程时应尽量使用明确的类,例如,使用TextBox而不使用Control可以更加方便地访问对象的属性和方法。Object是指向值的指针,它在任何情况均不包括值本身,由于是使用指针定位数据,所以处理起来会比已经确定位置的数据慢一点。Object也没有值类型字符。
【编辑推荐】