Byte, type de données (Visual Basic)

Contient des entiers 8 bits (1 octet) non signés dont la valeur est comprise entre 0 et 255.

Notes

Utilisez le type de données Byte pour contenir des données binaires.

La valeur par défaut de Byte est 0.

Affectations littérales

Vous pouvez déclarer et initialiser une variable Byte en lui attribuant un littéral décimal, un littéral hexadécimal, un littéral octal ou (à partir de Visual Basic 2017) un littéral binaire. Si le littéral intégral se trouve en dehors de la plage autorisée pour un Byte (autrement dit, s’il est inférieur à Byte.MinValue ou supérieur à Byte.MaxValue), une erreur de compilation se produit.

Dans l’exemple suivant, les entiers égaux à 201 représentés comme des littéraux décimaux, hexadécimaux et binaires sont implicitement convertis des valeurs Entier en valeurs byte.

Dim byteValue1 As Byte = 201
Console.WriteLine(byteValue1)

Dim byteValue2 As Byte = &H00C9
Console.WriteLine(byteValue2)

Dim byteValue3 As Byte = &B1100_1001
Console.WriteLine(byteValue3)
' The example displays the following output:
'          201
'          201
'          201

Notes

Vous utilisez le préfixe &h ou &H pour désigner un littéral hexadécimal, le préfixe &b ou &B pour désigner un littéral binaire, et le préfixe &o ou &O pour désigner un littéral octal. Les littéraux décimaux n’ont pas de préfixe.

À compter de Visual Basic 2017, vous pouvez également utiliser le caractère de soulignement, _, comme un séparateur numérique pour améliorer la lisibilité, comme dans l’exemple suivant.

Dim byteValue3 As Byte = &B1100_1001
Console.WriteLine(byteValue3)
' The example displays the following output:
'          201

Depuis Visual Basic 15.5, vous pouvez également utiliser le caractère de soulignement (_) comme séparateur de début entre le préfixe et les chiffres hexadécimaux, binaires ou octaux. Par exemple :

Dim number As Byte = &H_6A

Pour utiliser le caractère de soulignement comme séparateur de début, vous devez ajouter l’élément suivant à votre fichier projet Visual Basic (*.vbproj) :

<PropertyGroup>
  <LangVersion>15.5</LangVersion>
</PropertyGroup>

Pour plus d’informations, consultez Sélectionner la version du langage Visual Basic.

Conseils de programmation

  • Nombres négatifs. Étant donné que Byte est un type non signé, il ne peut pas représenter un nombre négatif. Si vous utilisez l’opérateur unaire moins (-) sur une expression qui prend la valeur de type Byte, Visual Basic convertit d’abord l’expression en Short.

  • Conversions de format. Lorsque Visual Basic lit ou écrit des fichiers, ou lorsqu’il appelle des DLL, des méthodes et des propriétés, il peut effectuer automatiquement des conversions entre les formats de données. Les données binaires stockées dans des variables et des tableaux Byte sont conservées lors de ces conversions de format. Vous ne devez pas utiliser de variable String pour les données binaires, car son contenu peut être endommagé pendant la conversion entre les formats ANSI et Unicode.

  • Extension. Le type de données Byte s’étend à Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single, ou Double. Cela signifie que vous pouvez convertir Byte en l’un de ces types sans rencontrer d’erreur System.OverflowException.

  • Caractères de type. Byte n’a pas de caractère de type littéral ni de caractère de type identificateur.

  • Type .NET Framework. Le type correspondant dans le .NET Framework est la structure System.Byte.

Exemple

Dans l’exemple suivant, b est une variable Byte. Les instructions illustrent la plage de la variable et l’application d’opérateurs de décalage de bits à celle-ci.

' The valid range of a Byte variable is 0 through 255.
Dim b As Byte
b = 30
' The following statement causes an error because the value is too large.
'b = 256
' The following statement causes an error because the value is negative.
'b = -5
' The following statement sets b to 6.
b = CByte(5.7)

' The following statements apply bit-shift operators to b.
' The initial value of b is 6.
Console.WriteLine(b)
' Bit shift to the right divides the number in half. In this 
' example, binary 110 becomes 11.
b >>= 1
' The following statement displays 3.
Console.WriteLine(b)
' Now shift back to the original position, and then one more bit
' to the left. Each shift to the left doubles the value. In this
' example, binary 11 becomes 1100.
b <<= 2
' The following statement displays 12.
Console.WriteLine(b)

Voir aussi