Condividi tramite


Collection Classe

Definizione

Un oggetto Visual Basic Collection è un set ordinato di elementi a cui è possibile fare riferimento come 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 viene creato 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 informazioni sul 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

Annotazioni

Quando possibile, è consigliabile usare le raccolte generiche nello System.Collections.Generic spazio dei nomi o nello System.Collections.Concurrent spazio dei nomi anziché in Visual Basic Collection. 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 allo 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 .

  • Informazioni sul numero di elementi contenuti nella raccolta 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.

    Annotazioni

    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 SyncLock Statement.For more information on locking a programming element, see SyncLock Statement.

Costruttori

Nome Descrizione
Collection()

Crea e restituisce un nuovo oggetto Visual Basic Collection .

Proprietà

Nome Descrizione
Count

Ottiene il numero di elementi in una raccolta.

Item[Int32]

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

Item[Object]

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

Item[String]

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

Metodi

Nome Descrizione
Add(Object, String, Object, Object)

Aggiunge un elemento a un Collection oggetto .

Clear()

Elimina tutti gli elementi di un oggetto Visual Basic Collection .

Contains(String)

Restituisce un valore che indica se un oggetto Visual Basic Collection 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 scorre l'insieme.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Remove(Int32)

Rimuove un elemento da un Collection oggetto .

Remove(String)

Rimuove un elemento da un Collection oggetto .

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.CopyTo(Array, Int32)

Copia gli elementi di in Collection un Arrayoggetto , a partire da un indice specifico Array .

ICollection.Count

Ottiene il numero di elementi dell'insieme.

ICollection.IsSynchronized

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

ICollection.SyncRoot

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

IDeserializationCallback.OnDeserialization(Object)

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

IEnumerable.GetEnumerator()

Ottiene un enumeratore che scorre l'insieme.

IList.Add(Object)

Aggiunge un elemento alla raccolta.

IList.Clear()

Rimuove tutti gli elementi dall'oggetto Collection .

IList.Contains(Object)

Determina se l'oggetto Collection contiene un valore specifico.

IList.IndexOf(Object)

Determina l'indice di un elemento specifico nell'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 l'oggetto Collection ha una dimensione fissa.

IList.IsReadOnly

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

IList.Item[Int32]

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

IList.Remove(Object)

Rimuove la prima occorrenza di un oggetto specifico dall'oggetto Collection .

IList.RemoveAt(Int32)

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

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Restituisce i dati necessari per serializzare l'oggetto Collection .

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

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

Si applica a