Condividi tramite


Collection Classe

Definizione

Un oggetto Collection di Visual Basic è un set ordinato di elementi a cui è possibile fare riferimento come singola unità.

public ref class Collection sealed : System::Collections::IList
public ref class Collection sealed : System::Collections::IList, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public sealed class Collection : System.Collections.IList
[System.Serializable]
public sealed class Collection : System.Collections.IList, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type Collection = class
    interface ICollection
    interface IEnumerable
    interface IList
type Collection = class
    interface ICollection
    interface IList
[<System.Serializable>]
type Collection = class
    interface ICollection
    interface IList
    interface ISerializable
    interface IDeserializationCallback
Public NotInheritable Class Collection
Implements IList
Public NotInheritable Class Collection
Implements IDeserializationCallback, IList, ISerializable
Ereditarietà
Collection
Attributi
Implementazioni

Esempio

Nell'esempio seguente vengono creati l'oggetto Collectionnames e una finestra di dialogo con cui un utente può aggiungere oggetti (nomi) all'insieme. Visualizza quindi i nomi nella raccolta e infine svuota la raccolta senza eliminare l'oggetto Collection stesso.

Per verificare il funzionamento, scegliere il comando Aggiungi classe dal menu Progetto e dichiarare una variabile pubblica denominata instanceName a livello di modulo ( nameClass tipo Public instanceName) per contenere i nomi di ogni istanza. Lasciare il nome predefinito come nameClass. Copiare e incollare il codice seguente nella sezione Generale di un altro modulo e quindi avviarlo con l'istruzione classNamer in un'altra procedura. Questo esempio funziona solo con le 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

Commenti

Nota

Quando possibile, utilizzare le raccolte generiche negli spazi dei nomi System.Collections.Generic o System.Collections.Concurrent anziché una Collection di Visual Basic. Per altre informazioni, vedere Raccolte - C# o Raccolte - Visual Basic.

L'oggetto Visual Basic Collection offre un modo pratico per fare riferimento a un gruppo correlato di elementi come un singolo oggetto. Gli elementi, o gli elementi, in una raccolta devono essere correlati solo dal fatto che esistono nella raccolta. Gli elementi di una raccolta non devono condividere lo stesso tipo di dati.

È possibile creare una raccolta nello stesso modo in cui si creano altri oggetti, come illustrato nell'esempio seguente.

Dim coll As New Microsoft.VisualBasic.Collection()  

Dopo aver creato una raccolta, è possibile eseguire una delle operazioni seguenti:

  • Aggiungere un elemento con il Add metodo .

  • Rimuovere un elemento con il Remove metodo .

  • Rimuovere tutti gli elementi con il Clear metodo .

  • Individuare il numero di elementi contenuti dall'insieme con la Count proprietà .

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

  • Restituisce un elemento specifico dall'insieme con la Item[] proprietà .

  • Scorrere l'intera collezione con For Each... Istruzione successiva.

    Nota

    Anche se l'oggetto Visual Basic Collection dispone di funzionalità identiche all'oggetto Collection in Visual Basic 6.0, i due non possono interagire in un ambiente COM.

    Attenzione

    L'iterazione di un oggetto Visual Basic Collection non è una procedura thread-safe. Anche se la raccolta è sincronizzata, altri thread possono comunque modificare la raccolta, causando la generazione di un'eccezione da parte dell'enumeratore. Per garantire la thread safety durante l'enumerazione, bloccare la raccolta o intercettare le eccezioni risultanti dalle modifiche apportate da altri thread. Per altre informazioni sul blocco di un elemento di programmazione, vedere Istruzione SyncLock.

Costruttori

Collection()

Crea e restituisce un nuovo oggetto Collection Visual Basic.

Proprietà

Count

Ottiene il numero di elementi contenuti in una raccolta.

Item[Int32]

Ottiene un elemento specifico di un oggetto Collection in base alla posizione o alla chiave.

Item[Object]

Ottiene un elemento specifico di un oggetto Collection in base alla posizione o alla chiave.

Item[String]

Ottiene un elemento specifico di un oggetto Collection in base alla posizione o alla chiave.

Metodi

Add(Object, String, Object, Object)

Aggiunge un elemento all'oggetto Collection.

Clear()

Elimina tutti gli elementi di un oggetto Collection di Visual Basic.

Contains(String)

Restituisce un valore che indica se un oggetto Collection di Visual Basic contiene un elemento con una chiave specifica.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che consente di scorrere la raccolta.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(Int32)

Rimuove un elemento dall'oggetto Collection.

Remove(String)

Rimuove un elemento dall'oggetto Collection.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi di Collection in Array a partire da un particolare indice Array.

ICollection.Count

Ottiene il numero di elementi in questa raccolta.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso all'oggetto Collection è sincronizzato (thread-safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere usato per sincronizzare l'accesso all'oggetto Collection.

IDeserializationCallback.OnDeserialization(Object)

Viene eseguito dopo che tutto l'oggetto grafico Collection è stato deserializzato.

IEnumerable.GetEnumerator()

Ottiene un enumeratore con cui è possibile scorrere la raccolta.

IList.Add(Object)

Aggiunge un elemento alla raccolta.

IList.Clear()

Consente di rimuovere tutti gli elementi dall'oggetto Collection.

IList.Contains(Object)

Stabilisce se l'oggetto Collection contiene un valore specifico.

IList.IndexOf(Object)

Consente di determinare l'indice di un elemento specifico dell'oggetto Collection.

IList.Insert(Int32, Object)

Inserisce un elemento nell'oggetto Collection in corrispondenza dell'indice specificato.

IList.IsFixedSize

Ottiene un valore che indica se le dimensioni dell'oggetto Collection sono fisse.

IList.IsReadOnly

Ottiene un valore che indica se l'oggetto Collection è di sola lettura.

IList.Item[Int32]

Ottiene o imposta l'elemento in corrispondenza dell'indice specificato.

IList.Remove(Object)

Consente di rimuovere la prima occorrenza di un oggetto specifico dall'oggetto Collection.

IList.RemoveAt(Int32)

Rimuove l'oggetto Collection in corrispondenza dell'indice specificato.

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Restituisce i dati necessari per la serializzazione dell'oggetto Collection.

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a