Collection, classe
Une Collection Visual Basic est un ensemble d'éléments ordonnés qui peut être désigné sous le nom d'unité.
Espace de noms : Microsoft.VisualBasic
Assembly : Microsoft.VisualBasic (dans microsoft.visualbasic.dll)
Syntaxe
'Déclaration
<SerializableAttribute> _
Public NotInheritable Class Collection
Implements ICollection, IList, ISerializable, IDeserializationCallback
'Utilisation
Dim instance As Collection
[SerializableAttribute]
public sealed class Collection : ICollection, IList, ISerializable,
IDeserializationCallback
[SerializableAttribute]
public ref class Collection sealed : ICollection, IList, ISerializable,
IDeserializationCallback
/** @attribute SerializableAttribute() */
public final class Collection implements ICollection, IList,
ISerializable, IDeserializationCallback
SerializableAttribute
public final class Collection implements ICollection, IList,
ISerializable, IDeserializationCallback
Notes
Pour plus d'informations, consultez la rubrique Visual Basic Collection, objet (Visual Basic).
L'objet Visual Basic Collection offre un moyen commode de faire référence à un groupe d'éléments associé comme à un objet unique. Les objets, ou éléments, d'une collection ont besoin d'être associés simplement par le fait qu'ils existent dans la collection. Les éléments d'une collection ne doivent pas partager le même type de données.
Vous pouvez créer une collection de la même façon que vous créez d'autres objets, comme l'illustre l'exemple suivant.
Dim coll As New Microsoft.VisualBasic.Collection()
Une fois que vous avez créé une collection, vous pouvez effectuer l'une des actions suivantes :
ajouter un élément avec la méthode Add ;
supprimer un élément avec la méthode Remove ;
supprimer tous les éléments avec la méthode Clear ;
trouver le nombre d'éléments que la collection contient avec la propriété Count ;
vérifier si un élément spécifique est présent avec la méthode Contains ;
retourner un élément spécifique de la collection avec la propriété Item ;
parcourir la collection entière avec For Each...Next, instruction (Visual Basic).
Notes
Même si l'objet Visual Basic Collection possède des fonctionnalités identiques à celles de l'objet Collection dans Visual Basic 6.0, les deux ne peuvent pas interagir dans un environnement COM.
Avertissement
Le parcours d'une Collection Visual Basic n'est pas une procédure thread-safe. Même lorsque la collection est synchronisée, d'autres threads peuvent toujours la modifier, ce qui amène l'énumérateur à lever une exception. Pour garantir la sécurité des threads au cours de l'énumération, vous pouvez soit verrouiller la collection, soit intercepter les exceptions résultant des modifications apportées par d'autres threads. Pour plus d'informations sur la façon de verrouiller un élément de programmation, consultez SyncLock, instruction.
Exemple
L'exemple suivant crée les names
de l'objet Collection et une boîte de dialogue par le biais de laquelle un utilisateur peut ajouter des objets (noms) à la collection. Il affiche ensuite les noms dans la collection, et enfin vide la collection sans se débarrasser de l'objet Collection lui-même.
Pour voir comment cela fonctionne, choisissez la commande Ajouter une classe commande dans le menu Projet et déclarez une variable publique appelée instanceName
au niveau du module de nameClass
(type Public instanceName
) pour contenir le nom de chaque instance. Laissez le nom par défaut comme nameClass
. Copiez et collez le code suivant dans la section Général d'un autre module, puis démarrez-le avec l'instruction classNamer
dans une autre procédure. (Cet exemple fonctionne uniquement avec les applications hôte qui prennent en charge les classes.)
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
Hiérarchie d'héritage
System.Object
Microsoft.VisualBasic.Collection
Sécurité des threads
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plates-formes
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
.NET Framework
Prise en charge dans : 2.0, 1.1, 1.0
.NET Compact Framework
Prise en charge dans : 2.0, 1.0
Voir aussi
Référence
Membres Collection
Microsoft.VisualBasic, espace de noms
Autres ressources
Collection, objet (Visual Basic)
Collection, membres de l'objet
GetEnumerator, méthode (objet Collection)