VB6数据类型之集合浅谈

日期: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

三、集合的属性与方法

属性与方法 说明
Add 添加一个成员到 Collection 对象
Count 返回 Long(长整数),包含集合中的对象数目。只读
Item 利用位置Index)或Key)返回 Collection 对象的指定成员
Remove 成员从 Collection 对象中删除。

1) Add

1、语法说明:

object.Add item, [key], [before], [after]

2、参数说明:

参数 说明
item 必需的,任意类型的表达式,指定要添加到集合中的成员
key 可选的,唯一字符串表达式,指定可以使用的键字符串,代替位置索引来访问集合中的成员,有点字典的身影
before 可选的。表达式(Index 或 Key),指定集合中的相对位置。在集合中将添加的成员放置在 before 参数识别的成员之前
after 可选。表达式(Index 或 Key),指定集合中的相对位置。在集合中将添加的成员放置在 After 参数识别的成员之后

注意:
1、集合的Index是从1开始的,而不是数组的索引从0开始;
2、beforeafter中的Index必须是介于 1 和集合Count属性值之间的值;

2)Count

语法说明:

object.Count

3)Item

1、语法说明:

object.Add item, [key], [before], [after]

2、参数说明:

参数 说明
Index 必要。为一表达式,指定集合中成员的位置

注意:
1、如果Index数值表达式,那么index 必须是从 1 到集合 Count 属性值之间的数值;
2、如果Index字符串表达式,那么index必须和key参数对应。若key不存在,则会导致错误发生;

4)Remove

1、语法说明:

object.Add item, [key], [before], [after]

2、参数说明:

参数 说明
Index 必要。为一表达式,指定集合中成员的位置

注意:
1、如果Index数值表达式,那么index 必须是从 1 到集合 Count 属性值之间的数值;
2、如果Index字符串表达式,那么index必须和key参数对应。若key不存在,则会导致错误发生;

四、集合的演示代码

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

你可能感兴趣的:(VB6,Commas随笔,vb6,Collection,集合,集合的遍历,数据类型)