65.9K
CodeProject 正在变化。 阅读更多。
Home

经典 ASP 的集合类

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (6投票s)

2008年12月10日

CPOL

2分钟阅读

viewsIcon

77523

downloadIcon

1498

一个允许在经典 ASP 中创建和操作集合的类。

引言

经典 ASP 一直缺乏对动态数组和集合的内置支持。这是一个简单的实用类,它添加了此功能。它相当简单易于使用,并提供了更高级语言中的许多常用功能。

背景

我写经典 ASP 代码已经好几年了,但我从未找到一个经典 ASP 的集合或动态数组类,能够提供更高级语言中集合的所有功能。我几年前编写了这个实用类,最近决定发布它,因为似乎仍然没有一个集合或动态数组类(至少我没有找到)支持此类的所有功能。

它不限制其元素的对象类型,甚至可以将另一个集合作为其项目(因此,如果您愿意,可以拥有“集合的集合”)。

使用代码

该代码非常简单易于使用,因为它或多或少是具有一些高级功能的您的基本集合。

可用的属性是

  • Object Item
  • int Count
  • Array DataArray

可用的方法是

  • int Add(Object value)
  • void AddItems(Array items)
  • void Insert(int index, Object value)
  • void Remove(Object value)
  • void RemoveAt(int index)
  • int IndexOf(Object value)
  • bool Contains(Object value)
  • void Clear()
  • string JoinData(string delimiter)
  • string ToString()
  • void CopyTo(Collection dest)
  • Collection Clone()

下面是一个使用该类的简单示例

dim v_col: set v_col = new Collection
v_col.Add("item 1")
v_col.Add("item 2")
v_col.Add("item 3")
v_col.AddItems(Array("item 4", "item 5"))
call v_col.Insert(2, "inserted item 3")

response.write "Count: " & v_col.Count & vbCrLf
response.write "2nd Item: " & v_col(1) & vbCrLf

v_col(1) = "item 2 edit"

response.write "Whole Collection:" & vbCrLf & v_col.ToString() & vbCrLf
response.write "Joined: " & v_col.JoinData(",")

关注点

ToString()JoinData() 方法将在集合的项目中查找 ToString() 方法,如果找到该方法,将使用该方法将项目转换为字符串。如果找不到,它们将尝试将项目转换为字符串,如果失败,则简单地说该项目是一个 Object,并显示项目的类型名称(例如,“[Object: MyObject]”)。

我曾经尝试为这个类编写一个通用的排序方法,但从未使其能够正确地处理任何通用对象,也没有时间来使其工作。如果我将来发现需要此功能,我可能会添加它。

修订历史

  • 2008 年 12 月 10 日 - 原始版本。
  • 2012 年 12 月 24 日 - 更新了下载文件,以包含 ptmcomp 建议的第一版修订。
© . All rights reserved.