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 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
Collectiondispone di funzionalità identiche all'oggettoCollectionin Visual Basic 6.0, i due non possono interagire in un ambiente COM.Attenzione
L'iterazione di un oggetto Visual Basic
Collectionnon è 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 |
| Item[Object] |
Ottiene un elemento specifico di un |
| Item[String] |
Ottiene un elemento specifico di un |
Metodi
| Nome | Descrizione |
|---|---|
| Add(Object, String, Object, Object) |
Aggiunge un elemento a un |
| Clear() |
Elimina tutti gli elementi di un oggetto Visual Basic |
| Contains(String) |
Restituisce un valore che indica se un oggetto Visual Basic |
| 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 |
| Remove(String) |
Rimuove un elemento da un |
| 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. |