VB中无option case语句,但有Option Base语句默认数组下界值是0.
Option Base 语句
在模块级别中使用,用来声明数组下标的缺省下界。
说明
由于下界的缺省设置是 0,因此无需使用 Option Base 语句。如果使用该语句,则必须写在模块的所有过程之前。一个模块中只能出现一次 Option
Base,且必须位于带维数的数组声明之前。
注意
Dim、Private、Public、ReDim 以及 Static 语句中的 To
子句提供了一种更灵活的方式来控制数组的下标。不过,如果没有使用 To 子句显式地指定下界,则可以使用 Option Base
将缺省下界设为 1。使用 Array 函数或 ParamArray 关键字创建的数组的下界为 0;Option
Base 对 Array 或 ParamArray 不起作用。
Option Base 语句只影响位于包含该语句的模块中的数组下界。
Option Base 语句示例
该示例使用 Option Base 语句来取代数组下标的缺省值 0。LBound
函数返回数组的指定维数的最小可用下标。Option Base 语句只能在模块级使用。
Option base 1 '将缺省的数组下标设为 1。
Dim Lower
Dim MyArray(20), TwoDArray(3, 4) '声明数组变量。
Dim ZeroArray(0 To 5) '取代缺省的下标。
'使用 LBound 函数来测试数组的下界。
Lower = LBound(MyArray) '返回 1。
Lower = LBound(TwoDArray, 2) '返回 1。
Lower = LBound(ZeroArray) '返回 0。
不是,我知道啥时候要用这个。默认值是限制什么吗?
追答这个是限定数组的默认下限的下标:
例如:声明数组如下:
dim d ( 1 To 10) as integer
VB6可以省略下限的下标为:
dim d (10) as integer
这样缺省了下限的下标,那么下限的下标就使用默认值0或者1。
option case 0
option case 1
如果不使用 option case语句就相当于是 使用了option case 0
这样,当使用
dim d (10) as integer
就等于
dim d (0 To 10) as integer