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 typeByte
, Visual Basic convertit d’abord l’expression enShort
.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 deString
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
,UInteger
Long
,ULong
,Decimal
, ,Single
ouDouble
. Cela signifie que vous pouvez convertirByte
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)