日期:2021年04月27日
作者:Commas
注释:VB6的集合,有点数组的味道,但是却比数组丰富;有点字典的身影,但是却比字典轻巧……
文章目录
- 一、集合的定义与说明
- 二、集合的定义与实例化
- 三、集合的属性与方法
-
- 1) `Add`
- 2)`Count`
- 3)`Item`
- 4)`Remove`
- 四、集合的演示代码
- 五、集合的两种遍历方法
-
- 1)Index遍历法
- 2)Key遍历法
一、集合的定义与说明
集合(Collection) 对象
是项目所组成的有序集合,可以把这个集合作为单元来引用。
说明:
1、Collection 对象提供了简便方法,将一组相关的项目(Item)视为单一对象来引用。
2、集合中的项目或成员被这样一个事实联系起来:它们都属于这个集合。
3、集合的成员不一定都是同一种数据类型的。
二、集合的定义与实例化
NO1:先声明,后实例化 一个Collection对象
'1)声明一个集合的变量
Dim clnA As Collection
'2)实例一个集合对象
Set clnA = New Collection
NO2:先声明,后实例化 一个Collection对象
'声明并实例化一个集合对象
Dim clnA As New Collection
三、集合的属性与方法
属性与方法 | 说明 |
---|---|
| 添加一个成员到 Collection 对象 |
| 返回 Long(长整数),包含集合中的对象数目。只读 |
| 利用位置(Index)或键(Key)返回 Collection 对象的指定成员 |
| 把成员从 Collection 对象中删除。 |
1) Add
Add
1、语法说明:
object.Add item, [key], [before], [after]
2、参数说明:
参数 | 说明 |
---|---|
| 必需的,任意类型的表达式,指定要添加到集合中的成员 |
| 可选的,唯一字符串表达式,指定可以使用的键字符串,代替位置索引来访问集合中的成员,有点字典的身影 |
| 可选的。表达式(Index 或 Key),指定集合中的相对位置。在集合中将添加的成员放置在 before 参数识别的成员之前 |
| 可选。表达式(Index 或 Key),指定集合中的相对位置。在集合中将添加的成员放置在 After 参数识别的成员之后 |
注意:
1、集合的Index是从
开始的,而不是数组的索引从
1
开始;
2、
或
before
中的Index必须是介于
after
和集合
1
属性值之间的值;
Count
2) Count
Count
语法说明:
object.Count
3) Item
Item
1、语法说明:
object.Add item, [key], [before], [after]
2、参数说明:
参数 | 说明 |
---|---|
Index | 必要。为一表达式,指定集合中成员的位置 |
注意:
1、如果
Index
是数值表达式,那么index 必须是从 1 到集合 Count 属性值之间的数值;
2、如果
是字符串表达式,那么index必须和key参数对应。若key不存在,则会导致错误发生;
Index
4) Remove
Remove
1、语法说明:
object.Add item, [key], [before], [after]
2、参数说明:
参数 | 说明 |
---|---|
Index | 必要。为一表达式,指定集合中成员的位置 |
注意:
1、如果
Index
是数值表达式,那么index 必须是从 1 到集合 Count 属性值之间的数值;
2、如果
是字符串表达式,那么index必须和key参数对应。若key不存在,则会导致错误发生;
Index
四、集合的演示代码
1、代码演示:
Option Explicit
Private Sub Form_Load()
'声明并实例化一个集合对象
Dim clnA As New Collection
'1)Add:添加成员
clnA.Add 1, "intA"
clnA.Add 2, "intB"
clnA.Add 3
clnA.Add "aaa"
clnA.Add "bbb", "sB"
clnA.Add "ccc"
'2)Count:查询集合的对象数目
'Dim lngCount As Long
'lngCount = clnA.Count
Debug.Print clnA.Count
'3)Item:查询某个成员
Debug.Print "clnA(1)=" & clnA(1)
Debug.Print "clnA(sB)=" & clnA("sB")
'4)Remove:移除某个成员
'4-1)Remove Index
clnA.Remove 1
'4-2)Remove Key
clnA.Remove "intB"
clnA.Remove "sB"
End Sub
2、结果输出:
6
clnA(1)=1
clnA(sB)=bbb
五、集合的两种遍历方法
1)Index遍历法
1、演示代码:
Option Explicit
Private Sub Form_Load()
'声明并实例化一个集合对象
Dim clnA As New Collection
clnA.Add 1, "intA"
clnA.Add 2, "intB"
clnA.Add 3
clnA.Add "aaa"
clnA.Add "bbb", "sB"
clnA.Add "ccc"
'Index遍历法
Dim i As Long
For i = 1 To clnA.Count
Debug.Print "clnA (" & i & ")=" & clnA(i)
Next i
End Sub
2、结果输出:
clnA (1)=1
clnA (2)=2
clnA (3)=3
clnA (4)=aaa
clnA (5)=bbb
clnA (6)=ccc
2)Key遍历法
1、演示代码:
Option Explicit
Private Sub Form_Load()
'声明并实例化一个集合对象
Dim clnA As New Collection
clnA.Add 1, "intA"
clnA.Add 2, "intB"
clnA.Add 3
clnA.Add "aaa"
clnA.Add "bbb", "sB"
clnA.Add "ccc"
'Key遍历法
Dim vK As Variant
For Each vK In clnA
Debug.Print vK
Next
End Sub
2、结果输出:
1
2
3
aaa
bbb
ccc
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/116198240