0
dim a(100)
a(0)=9,a(1)=3,a(2)=-3,a(3)=8,a(4)=2
我怎麼能找到二手陣列(即使用尺寸的大小是5如果我聲明一個數組的25個大小的5個值,我如何在VB腳本中找到數組的使用大小?
dim a(100)
a(0)=9,a(1)=3,a(2)=-3,a(3)=8,a(4)=2
我怎麼能找到二手陣列(即使用尺寸的大小是5如果我聲明一個數組的25個大小的5個值,我如何在VB腳本中找到數組的使用大小?
你要算非空元素:
Option Explicit
Function UsedElms(a)
UsedElms = 0
Dim i
For i = 0 To UBound(a)
If Not IsEmpty(a(i)) Then UsedElms = UsedElms + 1
Next
End Function
Dim a(5)
a(2) = 2
a(4) = 4
WScript.Echo "ub:", UBound(a), "sz:", UBound(a) + 1, "us:", UsedElms(a)
輸出:
cscript 23027576.vbs
ub: 5 sz: 6 us: 2
這裏的我只是想到了一個簡單的單線程,它主要通過將空元素轉換爲空格然後將其修剪掉來計算空元素的數量
intLastIndex = UBound(a) - Len(Join(a, " ")) + Len(Trim(Join(a, " ")))
只是爲了好玩!不要把它放到生產代碼中。它肯定會更有效地作爲一個雙線:
s = Join(a, " ")
intLastIndex = UBound(a) - Len(s) + Len(Trim(s))
Ekkehard在這裏有正確的答案,但。如果你的數組是連續填充的,這種破解纔有效。