Une collection est un type de données structuré qui stocke des données et fournit des opérations pour ajouter des données à la collection, supprimer des données de la collection, mettre à jour les données de la collection et définir et renvoyer les valeurs des différents attributs de la collection. Les collections peuvent être divisées en deux types : linéaires et non linéaires. Une collection linéaire est une liste d’éléments où un élément suit l’élément précédent. Les éléments d’une collection linéaire sont normalement classés par position (premier, deuxième, troisième, etc.). Dans le monde réel, une liste d’épicerie illustre une collection linéaire ; dans le monde informatique (qui est également réel), un tableau est conçu comme une collection linéaire.

Les collections non linéaires contiennent des éléments qui n’ont pas d’ordre de position dans la collection. Un organigramme est un exemple de collection non linéaire, tout comme un rack de boules de billard. Dans le monde informatique, les arbres, les tas, les graphiques et les ensembles sont des collections non linéaires. Les collections, qu’elles soient linéaires ou non linéaires, ont un ensemble défini de propriétés qui les décrivent et les opérations qui peuvent être effectuées sur elles. Un exemple de propriété de collection est la collection Count, qui contient le nombre d’éléments de la collection.
Les opérations de collection, appelées méthodes, incluent Add (pour ajouter un nouvel élément à une collection), Insert (pour ajouter un nouvel élément à une collection à un index spécifié), Remove (pour supprimer un élément spécifié d’une collection), Clear (pour supprimer tous les éléments d’une collection), Contains (pour déterminer si un élément spécifié est membre d’une collection) et IndexOf (pour déterminer l’index d’un élément spécifié dans une collection). COLLECTIONS DÉCRITES Au sein des deux grandes catégories de collections, il existe plusieurs sous-catégories. Les collections linéaires peuvent être des collections à accès direct ou des collections à accès séquentiel, tandis que les collections non linéaires peuvent être hiérarchiques ou groupées.

Cette section décrit chacun de ces types de collection. Collections à accès direct L’exemple le plus courant de collection à accès direct est le tableau. Nous définissons un tableau comme une collection d’éléments avec le même type de données auxquels on accède directement via un index entier. Les tableaux peuvent être statiques de sorte que le nombre d’éléments spécifiés lorsque le tableau est déclaré soit fixe pour la longueur du programme, ou ils peuvent être dynamiques, où le nombre d’éléments peut être augmenté via les instructions Redim ou Redim Preserve. Dans VB.NET, les tableaux ne sont pas seulement un type de données intégré, mais ils sont également une classe.
Plus loin dans ce chapitre, lorsque nous examinerons l’utilisation des tableaux plus en détail, nous discuterons de la manière dont les tableaux sont utilisés comme objets de classe. Nous pouvons utiliser un tableau pour stocker une collection linéaire. L’ajout de nouveaux éléments à un tableau est facile puisque nous plaçons simplement le nouvel élément dans la première position libre à l’arrière du tableau. L’insertion d’un élément dans un tableau n’est pas aussi simple (ou efficace), car nous devrons déplacer des éléments du tableau vers le bas pour faire de la place à l’élément inséré. Supprimer un élément à la fin d’un tableau est également efficace puisque nous pouvons simplement supprimer la valeur du dernier élément.

La suppression d’un élément dans n’importe quelle autre position est moins efficace car, tout comme pour l’insertion, nous devrons probablement ajuster de nombreux éléments du tableau d’une position pour garder les éléments du tableau contigus. Le .NET Framework fournit une classe de tableau spécialisée, ArrayList, pour faciliter la programmation de collection linéaire. Un autre type de collection à accès direct est la chaîne. Une chaîne est une collection de caractères auxquels on peut accéder en fonction de leur index, de la même manière, nous accédons aux éléments d’un tableau. Les chaînes sont également implémentées en tant qu’objets de classe dans VB.NET.
La classe comprend un large ensemble de méthodes pour effectuer des opérations standard sur des chaînes, telles que la concaténation, le renvoi de sous-chaînes, l’insertion de caractères, la suppression de caractères, etc. Les chaînes VB.NET sont immuables, ce qui signifie qu’une fois qu’une chaîne est initialisée, elle ne peut pas être modifiée. Lorsque vous modifiez une chaîne, vous créez une copie de la chaîne au lieu de modifier la chaîne d’origine. Ce comportement peut entraîner une dégradation des performances dans certains cas, c’est pourquoi le .NET Framework fournit une classe StringBuilder qui vous permet de travailler avec des chaînes mutables.

Le type de collection d’accès direct final est la structure, connue sous le nom de type défini par l’utilisateur dans Visual Basic 6. Une structure est un type de données composite qui contient des données pouvant être constituées de nombreux types de données différents. Par exemple, un enregistrement d’employé comprend le nom de l’employé (une chaîne), le salaire (un entier), un numéro d’identification (une chaîne ou un entier), ainsi que d’autres attributs.
Étant donné que le stockage de chacune de ces valeurs de données dans des variables distinctes peut devenir très facilement confus, le langage fournit la structure pour stocker des données de ce type. Un ajout puissant à la structure VB.NET est la possibilité de définir des méthodes pour effectuer des opérations stockées sur les données d’une structure. Cela rend une structure assez semblable à une classe, bien que vous ne puissiez pas hériter d’une structure.
Ecrit par Akira