VB中定义数组的起始下标默认从0开始。用Option Base 1语句将数组默认起始下标设置为 1。
(1)不使用Optioan Base 语句,数组起始下标默认为 0
Option Explicit
' 没有用 Option Base 语句,数组下标从0开始
' 因此,数组 a 包含了 11 个元素
Dim a(10) As Integer
Private Sub Form_Load()
Dim i As Integer
For i = 0 To 10
a(i) = i
Next
End Sub
(2)用Optioan Base 1 语句,数组起始下标默认为 1
Option Explicit
Option Base 1
' 使用了 Option Base 1语句,数组下标从1开始
' 因此,数组 a 包含了 10 个元素
Dim a(10) As Integer
Private Sub Form_Load()
Dim i As Integer
For i = 1 To 10 '如果 i=0,则会出现“下标越界”错误!
a(i) = i
Next
End Sub
(3)在VB Option Base 语句中参数只能是 0 或 1,其他值是非法的。
肯定的,不然怎么形成数组呢?在vb中的数组下标的下界可以不是0例如arr(2
to
8)
,但是在vb.net2010中下标必须是0开始,而且所有数组都是动态的。
如果没有定义option base的话,或者定义数组是没有指定1 to N的方式。默认就是0开始
默认是0
如果在代码开头加上 option base 1 的话 就是以1为下界
默认下届是0