VB编程split函数问题!

来源:百度知道 编辑:UC知道 时间:2024/05/04 23:12:17
Dim a
Private Sub Form_Load()
a = Split("www.kk.com", ".", -1, 1)
End Sub
Private Sub Command1_Click()
Dim i As Long
For i = 0 To 2
Print "a(" & CStr(i) & ")=" & a(i)
Next i
End Sub
这是一个没有问题的程序,请问split返回的不是一个下标为0的一维数组吗?那我将声明处的dim a 改为dim a(2)为什么就无法运行,而且还出现“Print "a(" & CStr(i) & ")=" & a(i)”的类型不匹配的错误!
谁能告诉我下啊,谢谢!!
Dim a()
Private Sub Form_Load()
a = Split("www.kk.com", ".", -1, 1)
End Sub
Private Sub Command1_Click()
Dim i As Long
For i = 0 To UBound(a)
Print "a(" & CStr(i + 1) & ")=" & a(i)
Next i
End Sub
我现在改成这个样子,这样也会出现类型不匹配!但是我声明 dim a() as string 就可以运行了!请问,我dim a()只写成这个样子,对类型没有特别指出,这时a()不就是个variant的吗?对于v

在VB中不是能直接这样定义的.如果你事先确定数组的大小时可以这样定义:
dim a()
redim a(2)
但直接定义dim a(2)是错误的.具体的原因我也不知道,我相可能跟这样的有关:
dim a(2) as string
这样表示将a的第2个元素定义为字符串,也就是说a(2)发生了歧义,是一个具有2个元素的数组呢,还是a数组的第二个元素呢?

dim a() 就可以了,

因为split函数会自动为你重分配数组元素数,所以不需要指定,也不能指定