我正在尝试创建一个动态数组,以供以后使用以获取多个数字值的中值。我有以下内容:
Dim DaysArray(), i, val1, val2
Sub BuildArray
i = 0
...
While Not recordset.EOF
ReDim Preserve DaysArray(i)
DaysArray(i) = recordset(value)
i = i + 1
Wend
...
End Sub
Sub ShowArrayValue
...
Array.Sort(DaysArray)
If DaysArray.Length Mod 2 <> 0 Then
Response.Write DaysArray(DaysArray.GetUpperBound(0)\2)
Else
val1 = DaysArray(DaysArray.Length\2)
val2 = DaysArray((DaysArray.Length\2) - 1)
Response.Write (val1 + val2)\2
End If
...
End Sub
但是,在循环的第一次迭代中,我在Array.Sort(DaysArray)行上看到“ Object required:Array”吗?
答案 0 :(得分:0)
您需要使用ReDim
Statement,例如如下:
data = s.recv(64)
new = hex(data)
ReDim声明
声明动态数组变量,并分配或重新分配存储 过程级别的空间。
语法
Dim DaysArray(), i, val1, val2 Sub BuildArray i = 0 '... While Not recordset.EOF ReDim Preserve DaysArray(i) DaysArray(i) = recordset.value recordset.MoveNext i = i + 1 Wend '... End Sub
参数
ReDim [Preserve] varname(subscripts) [, varname(subscripts)] . . .
当您更改最后一个维度的大小时,将数据保留在现有数组中。
Preserve
变量的名称;遵循标准的变量命名约定。
varname
数组变量的尺寸;最多可以声明60个维度。下标参数使用以下内容 语法:subscripts
数组的下限始终为零。