天天看点

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

开始的,而不是数组的索引从

开始;

2、

before

after

中的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

继续阅读