Tipo de dados de byte (Visual Basic)
Contém inteiros não assinados de 8 bits (1 byte) que variam em valor de 0 a 255.
Observações
Use o Byte
tipo de dados para conter dados binários.
O valor padrão de Byte
é 0.
Atribuições literais
Você pode declarar e inicializar uma Byte
variável atribuindo-lhe um literal decimal, um literal hexadecimal, um literal octal ou (a partir do Visual Basic 2017) um literal binário. Se o literal integral estiver fora do intervalo de a Byte
(isto é, se for menor Byte.MinValue ou maior que Byte.MaxValue), ocorrerá um erro de compilação.
No exemplo a seguir, inteiros iguais a 201 que são representados como literais decimais, hexadecimais e binários são implicitamente convertidos de inteiro para byte
valores.
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
Nota
Você usa o prefixo &h
ou &H
para denotar um literal hexadecimal, o prefixo &b
ou &B
para denotar um literal binário e o prefixo &o
ou &O
para denotar um literal octal. Os literais decimais não têm prefixo.
A partir do Visual Basic 2017, você também pode usar o caractere de sublinhado, _
, como um separador de dígitos para melhorar a legibilidade, como mostra o exemplo a seguir.
Dim byteValue3 As Byte = &B1100_1001
Console.WriteLine(byteValue3)
' The example displays the following output:
' 201
A partir do Visual Basic 15.5, você também pode usar o caractere de sublinhado (_
) como um separador à esquerda entre o prefixo e os dígitos hexadecimais, binários ou octais. Por exemplo:
Dim number As Byte = &H_6A
Para usar o caractere de sublinhado como um separador à esquerda, você deve adicionar o seguinte elemento ao seu arquivo de projeto do Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Para obter mais informações, consulte Selecione a versão da linguagem Visual Basic.
Dicas de programação
Números negativos. Por
Byte
ser um tipo não assinado, não pode representar um número negativo. Se você usar o operador unary menos (-
) em uma expressão que avalia para digitarByte
, o Visual Basic converte a expressão emShort
primeiro.Conversões de formato. Quando o Visual Basic lê ou grava arquivos, ou quando chama DLLs, métodos e propriedades, ele pode converter automaticamente entre formatos de dados. Os dados binários armazenados em
Byte
variáveis e matrizes são preservados durante essas conversões de formato. Você não deve usar umaString
variável para dados binários, porque seu conteúdo pode ser corrompido durante a conversão entre os formatos ANSI e Unicode.Alargamento. O
Byte
tipo de dados é ampliado paraShort
,UShort
, ,Integer
,Long
UInteger
,ULong
Decimal
,Single
, , ouDouble
. Isso significa que você pode converterByte
para qualquer um desses tipos sem encontrar um System.OverflowException erro.Digite caracteres.
Byte
não tem nenhum caractere de tipo literal ou caractere de tipo de identificador.Tipo de estrutura. O tipo correspondente no .NET Framework é a System.Byte estrutura.
Exemplo
No exemplo a seguir, b
é uma Byte
variável. As instruções demonstram o alcance da variável e a aplicação de operadores de bit-shift a ela.
' 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)