天天看點

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

繼續閱讀