Partilhar via


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 digitar Byte, o Visual Basic converte a expressão em Short 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 uma String 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 para Short, UShort, , Integer, LongUInteger, ULongDecimal, Single, , ou Double. Isso significa que você pode converter Byte 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)

Consulte também