共用方式為


Collection 類別

Visual Basic Collection 是一組已排序的項目,可以稱為一個單位。

命名空間: Microsoft.VisualBasic
組件: Microsoft.VisualBasic (在 microsoft.visualbasic.dll 中)

語法

'宣告
<SerializableAttribute> _
Public NotInheritable Class Collection
    Implements ICollection, IList, ISerializable, IDeserializationCallback
'用途
Dim instance As Collection
[SerializableAttribute] 
public sealed class Collection : ICollection, IList, ISerializable, 
    IDeserializationCallback
[SerializableAttribute] 
public ref class Collection sealed : ICollection, IList, ISerializable, 
    IDeserializationCallback
/** @attribute SerializableAttribute() */ 
public final class Collection implements ICollection, IList, 
    ISerializable, IDeserializationCallback
SerializableAttribute 
public final class Collection implements ICollection, IList, 
    ISerializable, IDeserializationCallback

備註

如需詳細資訊,請參閱 Visual Basic 的主題 Collection 物件 (Visual Basic)

Visual Basic Collection 物件提供了一個簡便的方法,可將相關的一組項目當做單一物件。集合中的項目 (Item) 或「項目」(Element) 只需透過它們存在於集合中的事實相互連結。集合的項目不必共用相同的資料型別。

您可以使用建立其他物件的相同方式來建立集合,如下列範例所述。

Dim coll As New Microsoft.VisualBasic.Collection()

一旦建立集合之後,您可以進行下列任何一項作業:

  • 使用 Add 方法加入項目。

  • 使用 Remove 方法,移除項目。

  • 使用 Clear 方法,移除所有項目。

  • 利用 Count 屬性瞭解此集合包含多少項目。

  • 使用 Contains 方法檢查特定項目是否存在。

  • 使用 Item 屬性,從集合中傳回特定的項目。

  • 使用 For Each...Next 陳述式 (Visual Basic) 逐一查看整個集合。

    Note注意事項

    雖然 Visual Basic Collection 物件的功能與 Visual Basic 6.0 中的 Collection 物件相同,但是這兩者不能在 COM 環境中相互溝通。

    警告

    逐一查看 Visual Basic Collection 並不是一個安全執行緒的程序。即使同步處理集合時,其他執行緒依然能夠修改集合,而這將造成列舉值擲回例外狀況。若要保證列舉過程的執行緒安全,您可以在整個列舉過程中鎖定集合,或攔截由其他執行緒的變更所造成的例外狀況。如需鎖定程式設計項目的詳細資訊,請參閱 SyncLock 陳述式

範例

下列範例將會建立 Collection 物件 names 及一個對話方塊,使用者可透過此對話方塊將物件 (名稱) 加入集合中。然後它會顯示集合中的名稱,最後將集合清空,而不處置 Collection 物件本身。

若要瞭解這項處理運作的方式,請從 [專案] 功能表中選擇 [加入類別] 命令,並在 nameClass 的模組層級上宣告稱為 instanceName 的公用變數 (型別 Public instanceName),以保存每一個執行個體的名稱。請將預設名稱保留為 nameClass。複製下列程式碼並貼到另一個模組的 [一般] 區段中,然後以其他程序中的 classNamer 陳述式來啟動程式碼 (此範例只適用於支援類別的主應用程式)。

Public Class nameClass
    Public instanceName As String
End Class
Sub classNamer()
    ' Create a Visual Basic Collection object.
    Dim names As New Microsoft.VisualBasic.Collection()
    Dim key As Integer
    Dim msg As String
    Dim name As String
    Dim nameList As String = ""
    ' 1. Get names from the user to add to the collection.
    Do
        Dim inst As New nameClass()
        key += 1
        msg = "Please enter a name for this object." & vbCrLf _
            & "Press Cancel to see names in collection."
        name = InputBox(msg, "Name the Collection items")
        inst.instanceName = name
        ' If user entered a name, add it to the collection.
        If inst.instanceName <> "" Then
            names.Add(inst, CStr(key))
        End If
    Loop Until name = ""
    ' 2. Create and display a list of names from the collection.
    For Each oneInst As nameClass In names
        nameList &= oneInst.instanceName & vbCrLf
    Next oneInst
    MsgBox(nameList, , "Instance Names in names Collection")
    ' 3. Remove elements from the collection without disposing of the collection.
    For count As Integer = 1 To names.Count
        names.Remove(1)
        ' Since Visual Basic collections are reindexed automatically, 
        ' remove the first member on each iteration.
    Next count
End Sub

繼承階層架構

System.Object
  Microsoft.VisualBasic.Collection

執行緒安全

這個型別的所有公用靜態成員 (即 Visual Basic 中的 Shared 成員) 都是安全執行緒。並非所有的執行個體成員均為安全執行緒。

平台

Windows 98、 Windows 2000 SP4、 Windows CE、 Windows Millennium Edition、 Windows Mobile for Pocket PC、 Windows Mobile for Smartphone、 Windows Server 2003、 Windows XP Media Center Edition、 Windows XP Professional x64 Edition、 Windows XP SP2、 Windows XP Starter Edition

.NET Framework 並不支援各種平台的所有版本。如需支援平台版本的相關資訊,請參閱系統需求一節的內容。

版本資訊

.NET Framework

支援版本:2.0、1.1、1.0

.NET Compact Framework

支援版本:2.0、1.0

請參閱

參考

Collection 成員
Microsoft.VisualBasic 命名空間

其他資源

Collection 物件 (Visual Basic)
Collection 物件成員
GetEnumerator 方法 (Collection 物件)