经典 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 建议的第一版修订。


