避免Null传播(Propagation)
先前版本的VB支持Null传播。Null传播的前提是null值使用在表
达式中,表达式的结果将是Null,例如下面的范例,结果V都将是Null
Dim V
V = 1 + Null
V = Null + Right$("SomeText", 1)
V = Right("SomeText", 0)
Null传播在Visual Basic.NET中将不再被支持。象上面的语句
1+Null会产生一个类型错误。另外在Visual Basic 6.0中有两个求左值的函数:Left和Left$前者返回值为Variant类型并且可以为空,Left$函数返回值为String类型。在Visual Basic.NET中,只有一个Left函数,该函数总是返回String类型值
为了使程序兼容Visual Basic 6.0以及Visual Basic.NET,你需
要在代码中加入对Null检测的代码,在Visual Basic.NET中,下面的函数将不再返回Null值:
Chr Mid
Command Oct
CurDir Right
Date RTrim
Environ Space
Error Str
Hex Time
LCase Trim
LTrim UCase
由于数据库中的数据可以包含Null值,所以你需要在程序中对获得的
数据加入代码检测其值是否为Null。
使用以0为下界的数组
Visual Basic 6.0允许你使用任何整数数字作为一个数组的上界
和下界。同样你也可以通过ReDim将一个Variant重新定义为数组。为了能够同.NET平台下的其它语言协同工作,Visual Basic.NET数组必须以0作为下界,而且只有一个变量事先定义为数组后才可以使用ReDim函数重新定义。虽然这样限制了数组定义的灵活性,但是这样可以在Visual Basic.NET和.NET下的其它语言之间传递数组。下面的范例说明了新的定义数组的约束:
Dim a(1 To 10) As Integer '错误:下界必须为0
Dim v
ReDim v(10) '错误,在没有定义v为数组前不能使用ReDim
Dim b(10) As Integer '正确
ReDim b(5) As Integer '正确
另外,在Visual Basic 6.0中, Dim (0 to 10) As Integer定
义了包含11各整数的数组,索引从0到10。同样
的定义在Visual Basic.NET下建立一个包含10个整数的数组,索引从
0到9。
基于上面的改变,Option Base 0
关键词:vb.Net编程简介之3(轉)