Collection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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 Collection
names
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'oggettoCollection
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 |
Item[Object] |
Ottiene un elemento specifico di un oggetto |
Item[String] |
Ottiene un elemento specifico di un oggetto |
Metodi
Add(Object, String, Object, Object) |
Aggiunge un elemento all'oggetto |
Clear() |
Elimina tutti gli elementi di un oggetto |
Contains(String) |
Restituisce un valore che indica se un oggetto |
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 |
Remove(String) |
Rimuove un elemento dall'oggetto |
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. |