Partager via


Type de données défini par l'utilisateur

Stocke les données dans un format que vous définissez. L'instruction Structure définit le format.

Les versions antérieures de Visual Basic prennent en charge le type défini par l'utilisateur (TDU). La version actuelle développe le TDU en une structure. Une structure est une concaténation d'un ou plusieurs membres de divers types de données. Visual Basic traite une structure comme une unité unique, bien que vous puissiez également accéder à ses membres individuellement.

Notes

Définissez et utilisez un type de données de structure lorsque vous devez combiner divers types de données en une unité unique ou lorsque aucun des types de données élémentaires ne correspond à vos besoins.

La valeur par défaut d'un type de données de structure se compose de la combinaison des valeurs par défaut de chacun de ses membres.

Format de déclaration

Une déclaration de structure démarre avec Structure, instruction et se termine par l'instruction End Structure. L'instruction Structure fournit le nom de la structure, qui représente également l'identificateur du type de données défini par la structure. D'autres parties du code peuvent utiliser cet identificateur pour déclarer que les variables, paramètres et valeurs de retour des fonctions appartiennent à ce type de données de structure.

Les déclarations figurant entre les instructions Structure et End Structure définissent les membres de la structure.

Niveaux d'accès au membre

Vous devez déclarer chaque membre à l'aide d'une instruction Dim, instruction (Visual Basic) ou d'une instruction qui spécifie le niveau d'accès, comme Public (Visual Basic), Friend (Visual Basic)ou Private (Visual Basic). Si vous utilisez une instruction Dim, le niveau d'accès prend par défaut la valeur public.

Conseils de programmation

  • Consommation de mémoire. Comme dans le cas de tous les types de données composites, vous ne pouvez pas calculer en toute sécurité la consommation totale de la mémoire d'une structure en additionnant les allocations de stockage nominal de ses membres. De plus, il est risqué de supposer que l'ordre de stockage dans la mémoire est identique à l'ordre de déclaration. Si vous devez contrôler la disposition de stockage d'une structure, vous pouvez appliquer l'attribut StructLayoutAttribute à l'instruction Structure.

  • Considérations sur l'interopérabilité. Si vous utilisez des composants non écrits pour le .NET Framework, tels que des objets Automation ou COM, gardez à l'esprit que les types définis par l'utilisateur dans d'autres environnements ne sont pas compatibles avec les types de structure Visual Basic.

  • Extension. Aucune conversion automatique n'est effectuée à partir ou vers un type de données de structure quelconque. Vous pouvez définir des opérateurs de conversion sur votre structure à l'aide de Operator, instruction et pouvez déclarer chaque opérateur de conversion comme Widening ou Narrowing.

  • Caractères de type. Les types de données de structure n'ont aucun caractère de type de littéral ou caractère de type d'identificateur.

  • Type Framework. Il n'y a aucun type correspondant dans le .NET Framework. Toutes les structures héritent de la classe .NET Framework ValueType, mais aucune structure individuelle ne correspond à ValueType.

Exemple

Le paradigme suivant montre le plan de la déclaration d'une structure.

[Public | Protected | Friend | Protected Friend | Private] Structure structname
    {Dim | Public | Friend | Private} member1 As datatype1
    ' ...
    {Dim | Public | Friend | Private} memberN As datatypeN
End Structure

Voir aussi

Référence

Liste des types de données (Visual Basic)

ValueType

Fonctions de conversion de types de données (Visual Basic)

Liste des conversions (Visual Basic)

Structure, instruction

Widening (Visual Basic)

Narrowing (Visual Basic)

StructLayoutAttribute

Concepts

Utilisation efficace des types de données (Visual Basic)

Autres ressources

Structures (Visual Basic)