Type de données byte (Visual Basic)

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

Notes

Utilisez le Byte type de données 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 Byte variable en lui affectant un littéral décimal, un littéral hexadécimal, un littéral octal ou (à compter de Visual Basic 2017) un littéral binaire. Si le littéral intégral se trouve en dehors de la plage d’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 qui sont représentés sous forme de littéraux décimaux, hexadécimaux et binaires sont implicitement convertis de Entier en byte valeurs.

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 séparateur de chiffres pour améliorer la lisibilité, comme le montre l’exemple suivant.

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

À compter de 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 de 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 convertir automatiquement entre les formats de données. Les données binaires stockées dans Byte des variables et des tableaux sont conservées lors de ces conversions de format. Vous ne devez pas utiliser de String variable pour les données binaires, car son contenu peut être endommagé lors de la conversion entre les formats ANSI et Unicode.

  • Extension. Le Byte type de données s’étend à Short, UShort, Integer, UIntegerLong, ULong, Decimal, , Singleou 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 ou 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 Byte variable. 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