经典 ASP 的集合类






4.50/5 (6投票s)
一个允许在经典 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 建议的第一版修订。