Condividi tramite


Oggetto Collection (Visual Basic)

Aggiornamento: novembre 2007

Un oggetto Collection di Visual Basic è un insieme ordinato di elementi che può essere definito come un'unità.

Note

L'oggetto Collection di Visual Basic consente di considerare un gruppo correlato di elementi come se si trattasse di un unico oggetto. L'unica correlazione necessaria tra gli elementi di un insieme è rappresentata dall'appartenenza all'insieme. Non è necessario che gli elementi condividano lo stesso tipo di dati.

È possibile creare un insieme in base alle stesse modalità utilizzate per la creazione di altri oggetti, come illustrato nel seguente esempio.

Dim coll As New Microsoft.VisualBasic.Collection()

Dopo aver creato un insieme, è possibile effettuare una delle seguenti operazioni:

  • Aggiungere un elemento che utilizza il metodo Add.

  • Rimuovere un elemento che utilizza il metodo Remove.

  • Rimuovere tutti gli elementi che utilizzano il metodo Clear.

  • Verificare il numero di elementi contenuti nell'insieme con la proprietà Count.

  • Controllare se è presente uno specifico elemento con il metodo Contains.

  • Restituire uno specifico elemento dall'insieme con la proprietà Item.

  • Scorrere tutto l'insieme con l'Istruzione For Each...Next (Visual Basic).

    Nota:

    Anche se l'oggetto Collection di Visual Basic offre le stesse funzionalità dell'oggetto Collection di Visual Basic 6.0, non è possibile l'interazione tra i due oggetti in un ambiente COM.

    Attenzione:

    Lo scorrimento di un oggetto Collection di Visual Basic non è una routine thread-safe. Anche se un'insieme è sincronizzato, altri thread possono modificare l'insieme causando la generazione di un'eccezione da parte dell'enumeratore. Per garantire la sicurezza dei thread durante l'enumerazione, bloccare l'insieme o intercettare le eccezioni determinate dalle modifiche apportate da altri thread. Per ulteriori informazioni sul blocco di un elemento di programmazione, vedere Istruzione SyncLock.

Esempio

Nell'esempio riportato di seguito vengono creati l'oggetto Collection denominato names e una finestra di dialogo mediante la quale gli utenti possono aggiungere oggetti (nomi) all'insieme. Vengono quindi visualizzati i nomi inclusi nell'insieme e infine l'insieme viene svuotato senza tuttavia eliminare l'oggetto Collection.

Per verificare il funzionamento del codice, scegliere il comando Aggiungi classe dal menu Progetto e dichiarare una variabile pubblica denominata instanceName a livello di modulo di nameClass (tipo Public instanceName) in cui includere i nomi di ciascuna istanza. Lasciare il nome predefinito nameClass. Copiare e incollare il codice riportato di seguito nella sezione Generale di un altro modulo, quindi avviarlo utilizzando l'istruzione classNamer in un'altra routine. Il codice funziona solo con applicazioni host che supportano le classi.

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

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Vedere anche

Riferimenti

Membri dell'oggetto Collection

Metodo GetEnumerator (oggetto Collection)