以下过程的功能是向数组中增加字符,则程序中下画线处应为( )
Private Sub AddToArray(arr(),arraycount%,ByVal charstring)
Dim i%,found As Boolean
found=False
For i=1 To arraycount
If array(i)=charstring Then
found=True
Exit For
End If
Next i
If Not found Then
arraycount=arraycount+1
______
arr(arraycount)=charstring
End If
End Sub
A) EeDim arr(arraycount)
B) ReDim Preserve arr(arraycount)
C) Dim arr(arraycount)
D) Dim Preserve arr(arraycount)
参考答案:B
解析: ReDim语句用来定义或重定义原来已经用带空圆括号(没有维数下标)的Private、Public或Dim语句声明过的动态数组的大小。
如果使用了Preserve关键字,就只能重定义数组最末维的大小,且根本不能改变维数的数目。例如,如果数组就是一维的,则可以重定义该维的大小,因为它是最末维,也是仅有的一维。不过,如果数组是二维或更多维时,则只有改变其最末维才能同时仍保留数组中的内容。下面的示例介绍了如何在为已有的动态数组增加其最末维大小的同时而不清除其中所含的任何数据。
ReDim X(10,10,10)
…
ReDim Preserve X(10,10,15)
同样地,在使用Preserve时,只能通过改变上界来改变数组的大小;改变下界则会导致错误。
从array(i)数组中查找charstring,如果没找到就将数组个数加1。重新定义数组的维数。让数组中最后一个数等于charstring。本题选B)。