Partager via


type de données User-Defined

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

Les versions précédentes de Visual Basic prennent en charge le type défini par l’utilisateur (UDT). La version actuelle étend l’UDT à une structure. Une structure est une concaténation d’un ou plusieurs membres de différents types de données. Visual Basic traite une structure comme une seule unité, bien que vous puissiez également accéder à ses membres individuellement.

Remarques

Définissez et utilisez un type de données de structure lorsque vous devez combiner différents types de données en une seule unité, ou quand aucun des types de données élémentaires ne répond à 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 commence par l’instruction Structure et se termine par l’instruction End Structure . L’instruction Structure fournit le nom de la structure, qui est é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 des variables, des paramètres et des valeurs de retour de fonction dans le type de données de cette structure.

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

Niveaux d’accès aux membres

Vous devez déclarer chaque membre à l’aide d’une instruction Dim ou d’une instruction qui spécifie le niveau d’accès, tel que Public, Friend ou Private. Si vous utilisez une instruction, le niveau d’accès Dim par défaut est public.

Conseils de programmation

  • Consommation de mémoire. Comme pour tous les types de données composites, vous ne pouvez pas calculer en toute sécurité la consommation totale de mémoire d’une structure en ajoutant les allocations de stockage nominales de ses membres. En outre, vous ne pouvez pas supposer en toute sécurité que l’ordre de stockage en mémoire est identique à votre 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 relatives à l’interopérabilité. Si vous entrez avec des composants non écrits pour le .NET Framework, par exemple 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.

  • Élargissement. Il n’existe aucune conversion automatique vers ou depuis n’importe quel type de données de structure. Vous pouvez définir des opérateurs de conversion sur votre structure à l’aide de l’instruction Operator, et vous pouvez déclarer chaque opérateur de conversion à être Widening ou Narrowing.

  • Tapez des caractères. Les types de données de structure n’ont pas de caractère de type littéral ou de type d’identificateur.

  • Type d’infrastructure. Il n’existe aucun type correspondant dans le .NET Framework. Toutes les structures héritent de la classe System.ValueType.NET Framework, mais aucune structure individuelle ne correspond à System.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