Collection Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Een Visual Basic Collection is een geordende set items die kunnen worden aangeduid als een eenheid.
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 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
- Overname
-
Collection
- Kenmerken
- Implementeringen
Voorbeelden
In het volgende voorbeeld worden het Collection object names en een dialoogvenster gemaakt waarmee een gebruiker objecten (namen) aan de verzameling kan toevoegen. Vervolgens worden de namen in de verzameling weergegeven en wordt de verzameling ten slotte geleegd zonder het Collection object zelf te verwijderen.
Als u wilt zien hoe dit werkt, kiest u de opdracht Add Class in het menu Project en declareert u een openbare variabele met de naam instanceName op moduleniveau van nameClass (type Public instanceName) om de namen van elk exemplaar op te geven. Laat de standaardnaam staan op nameClass. Kopieer en plak de volgende code in de sectie Algemeen van een andere module en begin deze vervolgens met de instructie classNamer in een andere procedure. (Dit voorbeeld werkt alleen met hosttoepassingen die klassen ondersteunen.)
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
Opmerkingen
Note
Gebruik waar mogelijk de algemene verzamelingen in de System.Collections.Generic-naamruimte of de System.Collections.Concurrent-naamruimte in plaats van een Visual Basic Collection. Zie Collections - C# of Collections - Visual Basic voor meer informatie.
Het object Visual Basic Collection biedt een handige manier om te verwijzen naar een gerelateerde groep items als één object. De items, of elementen, in een verzameling hoeven alleen te zijn gerelateerd aan het feit dat ze in de verzameling aanwezig zijn. Elementen van een verzameling hoeven niet hetzelfde gegevenstype te delen.
U kunt een verzameling op dezelfde manier maken als andere objecten, zoals in het volgende voorbeeld wordt geïllustreerd.
Dim coll As New Microsoft.VisualBasic.Collection()
Nadat u een verzameling hebt gemaakt, kunt u een van de volgende handelingen uitvoeren:
Voeg een element toe met de Add methode.
Verwijder een element met de Remove methode.
Verwijder alle elementen met de Clear methode.
Ontdek hoeveel elementen de verzameling bevat met de Count eigenschap.
Controleer of een specifiek element aanwezig is bij de Contains methode.
Retourneert een specifiek element uit de verzameling met de Item[] eigenschap.
Doorloop de hele verzameling met de For Each... Volgende instructie.
Note
Hoewel het Visual Basic
Collection-object dezelfde functionaliteit heeft als hetCollection-object in Visual Basic 6.0, kunnen de twee niet samenwerken in een COM-omgeving.Caution
Het doorlopen van een Visual Basic
Collectionis geen thread-safe procedure. Zelfs als de verzameling is gesynchroniseerd, kunnen andere threads de verzameling nog steeds wijzigen, waardoor de enumerator een uitzondering genereert. Om de veiligheid van threads tijdens de inventarisatie te garanderen, vergrendelt u de verzameling of ondervangt u de uitzonderingen die voortvloeien uit wijzigingen die door andere threads zijn aangebracht. Zie de SyncLock-instructie voor meer informatie over het vergrendelen van een programmeerelement.
Constructors
| Name | Description |
|---|---|
| Collection() |
Hiermee maakt en retourneert u een nieuw Visual Basic Collection-object. |
Eigenschappen
| Name | Description |
|---|---|
| Count |
Hiermee haalt u het aantal elementen in een verzameling op. |
| Item[Int32] |
Hiermee haalt u een specifiek element van een |
| Item[Object] |
Hiermee haalt u een specifiek element van een |
| Item[String] |
Hiermee haalt u een specifiek element van een |
Methoden
| Name | Description |
|---|---|
| Add(Object, String, Object, Object) |
Hiermee voegt u een element toe aan een |
| Clear() |
Hiermee verwijdert u alle elementen van een Visual Basic |
| Contains(String) |
Retourneert een waarde die aangeeft of een Visual Basic |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetEnumerator() |
Retourneert een enumerator die door de verzameling wordt herhaald. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| Remove(Int32) |
Hiermee verwijdert u een element uit een |
| Remove(String) |
Hiermee verwijdert u een element uit een |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Kopieert de elementen van de Collection elementen naar een Array, beginnend bij een bepaalde Array index. |
| ICollection.Count |
Hiermee haalt u het aantal items in deze verzameling op. |
| ICollection.IsSynchronized |
Hiermee wordt een waarde opgehaald die aangeeft of de toegang tot het Collection object wordt gesynchroniseerd (thread-safe). |
| ICollection.SyncRoot |
Hiermee haalt u een object op dat kan worden gebruikt om de toegang tot het Collection object te synchroniseren. |
| IDeserializationCallback.OnDeserialization(Object) |
Wordt uitgevoerd nadat de hele Collection objectgrafiek is gedeserialiseerd. |
| IEnumerable.GetEnumerator() |
Hiermee haalt u een opsomming op die door de verzameling wordt herhaald. |
| IList.Add(Object) |
Voegt een item toe aan de verzameling. |
| IList.Clear() |
Hiermee verwijdert u alle items uit het Collection object. |
| IList.Contains(Object) |
Bepaalt of het Collection object een specifieke waarde bevat. |
| IList.IndexOf(Object) |
Bepaalt de index van een specifiek item in het Collection object. |
| IList.Insert(Int32, Object) |
Hiermee voegt u een item toe aan het Collection object in de opgegeven index. |
| IList.IsFixedSize |
Hiermee wordt een waarde opgehaald die aangeeft of het Collection object een vaste grootte heeft. |
| IList.IsReadOnly |
Hiermee wordt een waarde opgehaald die aangeeft of het Collection object is. |
| IList.Item[Int32] |
Hiermee haalt u het element op de opgegeven index op of stelt u het in. |
| IList.Remove(Object) |
Hiermee verwijdert u het eerste exemplaar van een specifiek object uit het Collection object. |
| IList.RemoveAt(Int32) |
Hiermee verwijdert u het Collection objectitem in de opgegeven index. |
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Retourneert de gegevens die nodig zijn om het Collection object te serialiseren. |
Extensiemethoden
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Hiermee schakelt u parallelle uitvoering van een query in. |
| AsQueryable(IEnumerable) |
Converteert een IEnumerable naar een IQueryable. |
| Cast<TResult>(IEnumerable) |
Cast de elementen van een IEnumerable naar het opgegeven type. |
| OfType<TResult>(IEnumerable) |
Hiermee filtert u de elementen van een IEnumerable op basis van een opgegeven type. |