Types de données composites (Visual Basic)

Outre les types de données élémentaires fournis par Visual Basic, vous pouvez également assembler des éléments de différents types pour créer des types de données composites tels que des structures, des tableaux et des classes. Vous pouvez créer des types de données composites à partir de types élémentaires et d’autres types composites. Par exemple, vous pouvez définir un tableau d’éléments de structure ou une structure avec des membres du tableau.

Types de données

Un type composite est différent du type de données de n'importe lequel de ses composants. Par exemple, un tableau d’éléments Integer n’est pas du type de données Integer.

Un type de données de tableau est normalement représenté à l’aide du type d’élément, des parenthèses et des virgules si nécessaire. Par exemple, un tableau unidimensionnel d’éléments String est représenté comme String(), et sous la forme d’un tableau à deux dimensions d’éléments Boolean est représenté comme Boolean(,).

Types de structure

Il n’existe aucun type de données unique comprenant toutes les structures. Au lieu de cela, chaque définition d’une structure représente un type de données unique, même si deux structures définissent des éléments identiques dans le même ordre. Toutefois, si vous créez deux instances ou plus de la même structure, Visual Basic considère qu'elles sont du même type de données.

Tuples

Un tuple est une structure légère qui contient deux champs ou plus dont les types sont prédéfinis. Les tuples sont pris en charge à partir de Visual Basic 2017. Les tuples sont le plus souvent utilisés pour renvoyer plusieurs valeurs à partir d'un seul appel de méthode sans avoir à transmettre les arguments par référence ou à conditionner les champs renvoyés dans une classe ou une structure plus lourde. Pour plus d’informations sur les tuples, consultez la rubrique Tuples.

Types de tableaux

Il n’existe aucun type de données unique comprenant tous les tableaux. Le type de données d’une instance particulière d’un tableau est déterminé par les éléments suivants :

  • Le fait d’être un tableau

  • Le rang (nombre de dimensions) du tableau

  • Le type d’élément du tableau

En particulier, la longueur d’une dimension donnée ne fait pas partie du type de données de l’instance. L'exemple suivant illustre ce comportement.

Dim arrayA( ) As Byte = New Byte(12) {}  
Dim arrayB( ) As Byte = New Byte(100) {}  
Dim arrayC( ) As Short = New Short(100) {}  
Dim arrayD( , ) As Short  
Dim arrayE( , ) As Short = New Short(4, 10) {}  

Dans l’exemple précédent, les variables de tableau arrayA et arrayB sont considérées comme du même type de données : Byte(), même si elles sont initialisées à des longueurs différentes. Les variables arrayB et arrayC ne sont pas du même type, car leurs types d’éléments sont différents. Les variables arrayC et arrayD ne sont pas du même type, car leurs rangs sont différents. Les variables arrayD et arrayE ont le même type : Short(,), car leurs rangs et types d’éléments sont identiques, même si arrayD n’est pas encore initialisé.

Pour plus d’informations sur les tableaux, consultez Tableaux.

Types de classes

Il n’existe aucun type de données unique comprenant toutes les classes. Bien qu’une classe puisse hériter d’une autre classe, chacune est un type de données distinct. Plusieurs instances de la même classe sont du même type de données. Si vous attribuez une variable d'instance de classe à une autre, non seulement elles ont le même type de données, mais elles pointent vers la même instance de classe en mémoire.

Pour plus d’informations sur les classes, consultez Objets et classes.

Voir aussi