button1,button2是控件,你在定义的时候就初始化到数组,但是此时控件本身还没有初始化,显然数组得不到正确的值
成都创新互联主打移动网站、成都网站设计、成都网站建设、网站改版、网络推广、网站维护、空间域名、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
正确的做法是先定义数组,在对话框load事件中初始化数组,然后再使用
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.NET中,为了和其他语言更加易于协同操作,数组的下界均设定为0,不允许声明一个下界为1的数组,因此Option Base语句不再被VB.NET支持。
根据你的语句,上下标是确定的,所以定义语句修改为:
Dim ary(UBound(temp), 1) As String '声明二维数组
数组默认最小下标从0开始,那么dim a(5),就定义了6个元素,即a(0)、a(1)、a(2)、...、a(5)
如果你定义数组为a(2 to 5),那么数组元素就是a(2)、a(3)、a(4)、a(5),4个元素。