共用方式為


使用集合管理多個物件

更新:2007 年 11 月

在本課程中,您將學習如何使用集合,管理物件群組。

在先前的課程中,您已學會如何使用陣列管理變數群組。雖然您可以使用陣列管理物件群組,但 Visual Basic 也有特殊類型的物件,稱為「集合」,可以用來儲存及擷取類似物件的群組。

跟陣列一樣,Collection 物件中的每一個項目都有索引,可以用來識別該項目。此外,Collection 物件中的每一個項目也都有「索引鍵」,就是可以用來識別項目的 String 值。使用索引鍵的優點在於:您不需要記住項目的索引,而可以用有意義的名稱來指稱。

建立集合

當您的程式使用相同類別的多個執行個體時,集合就會很有用。例如,看一下您在上一個課程中建立的 Players 類別。您很可能需要多個 Players 物件來表示一個棒球隊。

建立集合的第一個步驟是:建立 Collection 物件的執行個體,如以下宣告中所示。

Dim baseballTeam As New Collection

建立了 Collection 物件以後,您就可以使用 Add 方法來加入項目,而用 Remove 方法來刪除項目。加入項目時,首先指定要加入的項目,然後再指定要用來做為索引鍵的 String 值。

baseballTeam.Add(playerObject, "Player's Name")

移除項目時,請使用索引鍵,指定要移除的項目。

baseballTeam.Remove("Player's Name")

在以下程序中,您將加入兩個新的 Players 物件,然後建立 team 集合,再使用 Position 屬性做為索引鍵,加入 Players 物件。

試試看!

若要建立物件集合

  1. 開啟您在上一個課程中所建立的 Persons 專案。如果您並未儲存,請回到上一個課程:從現有的類別建置類別:使用繼承,並完成該程序。

  2. 在 [方案總管] 中,選取 [PlayerTest] 專案中的 [Form1.vb] 節點,然後在 [檢視] 功能表中選擇 [程式碼]。

  3. 在 [程式碼編輯器] 中,於宣告區段 (在 player2 的宣告下面) 中加入以下程式碼。

    Dim player3 As New Persons.Players
    Dim player4 As New Persons.Players
    Dim team As New Collection
    
  4. 將以下程式碼加入 Form1_Load 事件程序中。

    With player3
        .FirstName = "Eduardo"
        .LastName = "Saavedra"
        .Number = 52
        .Position = "First Base"
    End With
    
    With player4
        .FirstName = "Karl"
        .LastName = "Jablonski"
        .Number = 22
        .Position = "Pitcher"
    End With
    
    team.Add(player1, player1.Position)
    team.Add(player2, player2.Position)
    team.Add(player3, player3.Position)
    team.Add(player4, player4.Position)
    
  5. 在 [方案總管] 的 [PlayerTest] 專案中,選取 [Form1.vb] 節點。然後在 [檢視] 功能表上選擇 [設計工具]。

  6. 從 [工具箱] 將 ComboBox 控制項拖曳到表單上。

  7. 在 [屬性] 視窗中,選取 [Items] 屬性,然後按一下 … 按鈕。

  8. 在 [字串集合編輯器] 中,輸入下列項目,然後按一下 [確定]。

    Catcher

    First Base

    Pitcher

    Shortstop

  9. 按兩下 [ComboBox] 控制項,開啟 [程式碼編輯器],然後在 ComboBox1_SelectedIndexChanged 事件處理常式中,輸入以下程式碼。

    Dim SelectedPlayer As Persons.Players
    SelectedPlayer = team(ComboBox1.SelectedItem)
    MsgBox("Playing " & ComboBox1.SelectedItem & " is " & _
    SelectedPlayer.FullName & "!")
    
  10. 請按 F5 執行程式。從下拉式清單中選取位置,該位置上的球員就會顯示在訊息方塊中。

後續步驟

在本課程中,您已學會如何使用 Collection 物件,管理物件群組。現在,您可以在詳述:在集合中使用 For Each...Next 迴圈中進一步了解集合,也可以繼續進行下一組課程,學習如何建立自己的控制項。

下一個課程:可視物件:建立第一個使用者控制項

請參閱

工作

詳述:在集合中使用 For Each...Next 迴圈

詳述:覆寫成員

從現有的類別建置類別:使用繼承

概念

Visual Basic 集合類別

其他資源

可視物件:建立第一個使用者控制項