Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Il existe deux types de types dans Visual Basic : types de référence et types valeur. Les variables des types de référence stockent les références à leurs données (objets), tandis que les variables des types valeur contiennent directement leurs données. Avec les types référence, deux variables peuvent faire référence au même objet ; par conséquent, les opérations sur une variable peuvent affecter le même objet référencé par l'autre variable. Avec les types valeur, chaque variable a sa propre copie des données et il n’est pas possible d’effectuer des opérations sur une variable pour affecter l’autre (sauf dans le cas du modificateur ByRef sur les paramètres).
Types valeur
Un type de données est un type valeur s’il contient les données dans son propre allocation de mémoire. Les types valeur incluent les éléments suivants :
Tous les types de données numériques
Boolean
,Char
etDate
Toutes les structures, même si leurs membres sont des types de référence
Énumérations, car leur type sous-jacent est toujours
SByte
, ,Long
Integer
Byte
Short
, ,UShort
, ,UInteger
, ouULong
Chaque structure est un type valeur, même s’il contient des membres de type référence. Pour cette raison, les types valeur tels que Char
et Integer
sont implémentés par les structures .NET Framework.
Vous pouvez déclarer un type valeur à l’aide du mot clé réservé, par exemple Decimal
. Vous pouvez également utiliser le New
mot clé pour initialiser un type valeur. Cela est particulièrement utile si le type a un constructeur qui prend des paramètres. Par exemple, il s’agit du Decimal(Int32, Int32, Int32, Boolean, Byte) constructeur, qui génère une nouvelle Decimal
valeur à partir des parties fournies.
Types référence
Un type référence stocke une référence à ses données. Les types de référence incluent les éléments suivants :
String
Tous les tableaux, même si leurs éléments sont des types valeur
Types de classes, tels que Form
Délégués
Une classe est un type référence. Notez que chaque tableau est un type référence, même si ses membres sont des types valeur.
Étant donné que chaque type de référence représente une classe .NET Framework sous-jacente, vous devez utiliser le mot clé New Operator lorsque vous l’initialisez. L’instruction suivante initialise un tableau.
Dim totals() As Single = New Single(8) {}
Éléments qui ne sont pas des types
Les éléments de programmation suivants ne sont pas qualifiés de types, car vous ne pouvez pas les spécifier comme un type de données pour un élément déclaré :
Espaces de noms
Modules
Événements
Propriétés et procédures
Variables, constantes et champs
Utilisation du type de données d’objet
Vous pouvez affecter un type référence ou un type valeur à une variable du Object
type de données. Une Object
variable contient toujours une référence aux données, jamais les données elles-mêmes. Toutefois, si vous affectez un type valeur à une Object
variable, il se comporte comme s’il contient ses propres données. Pour plus d’informations, consultez Type de données d’objet.
Vous pouvez déterminer si une Object
variable agit comme un type référence ou un type valeur en le transmettant à la IsReference méthode dans la Information classe de l’espace Microsoft.VisualBasic de noms.
Information.IsReference retourne True
si le contenu de la Object
variable représente un type de référence.