华域联盟 vbs VBS ArrayList Class vbs中的数组类

VBS ArrayList Class vbs中的数组类

Class ArrayList

 Private items()

 Private size

  Private Sub Class_Initialize

 size = 0

 ReDim items(1)

  End Sub

  Private Sub Class_Terminate

 items = null

  End Sub

 Public Function Add(ByVal value)

       If (size = Ubound(items)) Then EnsureCapacity((size + 1))

       items(size) = value

       size = size + 1

       Add = size

 End Function

 Public Property Get Item(index)

  Item = items(index)

 End Property

 Public Property Let Item(index, vObject)

  items(index) = vObject

 End Property

 Property Get Count

  Count = size

 End Property

 Public Property Get Capacity()

  Capacity = Ubound(items)

 End Property

 Public Property Let Capacity(value)

            If (value <> Ubound(items)) Then

                  If (value < size) Then Err.Rise 6

                  If (value > 0) Then

                        ReDim Preserve items(value)

                  Else

                        ReDim Preserve items(3)

                  End If

            End If

 End Property

 Private Sub EnsureCapacity(ByVal min)

       If (Ubound(items) < min) Then

      Dim num1 : num1 = IIf((Ubound(items) = 0), 4, (Ubound(items) * 2))

      If (num1 < min) Then num1 = min

      Capacity = num1

       End If

 End Sub

 Private Function IIf(j, r1, r2)

  IF (j) Then

   IIf = r1

  Else

   IIf = r2

  End IF

 End Function

End Class

示例:

Dim al : Set al = new ArrayList

al.Add(1)

al.Add(2)

al.Add(3)

al.Add(4)

al.Add(5)

al.Add(6)

al.Add(7)

al.Add(8)

al.Add(9)

al.Add(10)

For i = 0 To al.Count -1

 w("Index"& i &": "& al.Item(i))

Next

w("Count: "& al.Count)

w("Capacity: "& al.Capacity)

Sub w(o)

Response.Write(o &"<br />")

End Sub
您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » VBS ArrayList Class vbs中的数组类

转载请保留出处和原文链接:https://www.cnhackhy.com/14680.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部