如何知道动态数组内有没有元素

来源:百度知道 编辑:UC知道 时间:2024/06/16 21:59:54
定义一个动态数组a()

程序执行过程中,不一定给它赋值,问题是怎样判断a中有没有元素?

if 数组a()没有元素 then msgbox"数组没有元素":exit sub

这句判断该如何写?

目前唯一的方法:

Option Explicit
Dim a()

Private Sub Command1_Click()
Static i As Integer
ReDim Preserve a(i)
a(i) = i
Print a(i)
i = i + 1
End Sub

Private Sub Command2_Click()
On Error GoTo errArr

MsgBox "数组已使用,最大下标为" & UBound(a)
Exit Sub

errArr:
MsgBox "数组未被初始化..."
End Sub

if isempty(a) then msgbox"数组没有元素":exit sub

if lbound(a) = ubound(a) then

呵呵,我也不知道怎么来判断,通常,我都是定义一个全局的iCount变量来记录动态数组的个数,

有时候需要清空a()的数据,但只能用redim a(0),实际上,这个操作以后里面并没有数据,这时候我通常把iCount设置为-1,用来标记a()里面没有任何元素,用代码来控制iCount和a()这样就知道a()到底有没数据,有多少数据了

这是个笨办法,但至今我也没找到直接判断的,至于IsEmpty根本无法判断

Dim a()
ReDim a(1)
a(0) = 1
MsgBox IsEmpty(a) <-返回false,但实际我已经赋值了
ReDim a(0)
MsgBox IsEmpty(a)<-这里也返回false,所以无法判断

Dim a() '如果把这里的()去掉,下面的redim preserve 那句就有问题
Private Sub Command1_Click()
Static i As I