Collection Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Une Collection
Visual Basic est un jeu ordonné d’éléments qui peut être considéré collectivement comme une 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
- Héritage
-
Collection
- Attributs
- Implémente
Exemples
L’exemple suivant crée l’objet Collection
names
et une boîte de dialogue avec laquelle un utilisateur peut ajouter des objets (noms) à la collection. Il affiche ensuite les noms dans la collection, puis vide la collection sans supprimer l’objet Collection
lui-même.
Pour voir comment cela fonctionne, choisissez la commande Ajouter une classe dans le menu Projet et déclarez une variable publique appelée instanceName
au niveau du module de nameClass
(type Public instanceName
) pour contenir les noms de chaque instance. Conservez le nom par défaut .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ôtes 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
Remarques
Notes
Dans la mesure du possible, vous devez utiliser les collections génériques dans l’espace System.Collections.Generic de noms ou l’espace System.Collections.Concurrent de noms au lieu d’un visual Basic Collection
. Pour plus d’informations, consultez Collections - C# ou Collections - Visual Basic.
L’objet Visual Basic Collection
offre un moyen pratique de faire référence à un groupe d’éléments associé en tant qu’objet unique. Les éléments d’une collection doivent uniquement être liés par le fait qu’ils existent dans la collection. Les éléments d’une collection n’ont pas besoin de 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 opérations suivantes :
Ajoutez un élément avec la Add méthode .
Supprimez un élément avec la Remove méthode .
Supprimez tous les éléments avec la Clear méthode .
Découvrez le nombre d’éléments que la collection contient avec la Count propriété .
Vérifiez si un élément spécifique est présent avec la Contains méthode .
Retourne un élément spécifique de la collection avec la Item[] propriété .
Itérer dans l’ensemble de la collection avec for each... Next Statement.
Notes
Bien que l’objet Visual Basic
Collection
ait des fonctionnalités identiques à l’objetCollection
dans Visual Basic 6.0, les deux ne peuvent pas interagir dans un environnement COM.Attention
L’itération au sein d’un Visual Basic
Collection
n’est pas une procédure thread-safe. Même si la collection est synchronisée, d’autres threads peuvent toujours modifier la collection, ce qui entraîne la levée d’une exception par l’énumérateur. Pour garantir la sécurité des threads pendant l’énumération, verrouillez la collection ou interceptez les exceptions résultant des modifications apportées par d’autres threads. Pour plus d’informations sur le verrouillage d’un élément de programmation, consultez Instruction SyncLock.
Constructeurs
Collection() |
Crée et retourne un objet Collection Visual Basic. |
Propriétés
Count |
Obtient le nombre d’éléments d’une collection. |
Item[Int32] |
Obtient un élément spécifique d’un objet |
Item[Object] |
Obtient un élément spécifique d’un objet |
Item[String] |
Obtient un élément spécifique d’un objet |
Méthodes
Add(Object, String, Object, Object) |
Ajoute un élément à un objet |
Clear() |
Supprime tous les éléments d'un objet Visual Basic |
Contains(String) |
Retourne une valeur indiquant si un objet Visual Basic |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetEnumerator() |
Retourne un énumérateur qui itère au sein de la collection. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
Remove(Int32) |
Supprime un élément d'un objet |
Remove(String) |
Supprime un élément d'un objet |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
ICollection.CopyTo(Array, Int32) |
Copie les éléments de Collection dans Array, à partir d'un index particulier de Array. |
ICollection.Count |
Obtient le nombre d’éléments de cette collection. |
ICollection.IsSynchronized |
Obtient une valeur qui indique si l’accès à l’objet Collection est synchronisé (thread-safe). |
ICollection.SyncRoot |
Obtient un objet qui peut être utilisé pour synchroniser l’accès à l’objet Collection. |
IDeserializationCallback.OnDeserialization(Object) |
S'exécute une fois la totalité du graphique d'objets Collection désérialisée. |
IEnumerable.GetEnumerator() |
Obtient un énumérateur qui itère au sein de la collection. |
IList.Add(Object) |
Ajoute un élément à la collection. |
IList.Clear() |
Supprime tous les éléments de l'objet Collection. |
IList.Contains(Object) |
Détermine si l'objet Collection contient une valeur spécifique. |
IList.IndexOf(Object) |
Détermine l'index d'un élément spécifique dans l'objet Collection. |
IList.Insert(Int32, Object) |
Insère un élément dans l'objet Collection au niveau de l'index spécifié. |
IList.IsFixedSize |
Obtient une valeur qui indique si l'objet Collection est de taille fixe. |
IList.IsReadOnly |
Obtient une valeur qui indique si l’objet Collection est en lecture seule. |
IList.Item[Int32] |
Obtient ou définit l'élément au niveau de l'index spécifié. |
IList.Remove(Object) |
Supprime la première occurrence d'un objet spécifique de l'objet Collection. |
IList.RemoveAt(Int32) |
Supprime l'élément d'objet Collection au niveau de l'index spécifié. |
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Retourne les données nécessaires à la sérialisation de l'objet Collection. |
Méthodes d’extension
Cast<TResult>(IEnumerable) |
Effectue un cast des éléments d'un IEnumerable vers le type spécifié. |
OfType<TResult>(IEnumerable) |
Filtre les éléments d'un IEnumerable en fonction du type spécifié. |
AsParallel(IEnumerable) |
Active la parallélisation d'une requête. |
AsQueryable(IEnumerable) |
Convertit un IEnumerable en IQueryable. |