Поделиться через


Тип данных Byte (Visual Basic)

Содержит целые числа без знака от 8-разрядного (1-байта), которые варьируются в значении от 0 до 255.

Замечания

Byte Используйте тип данных для хранения двоичных данных.

Значение по умолчанию для типа Byte — 0.

Литеральные назначения

Можно объявить и инициализировать Byte переменную, назначив ему десятичный литерал, шестнадцатеричный литерал, восьмеричный литерал или (начиная с Visual Basic 2017) двоичный литерал. Если целочисленный литерал находится за пределами диапазона ( Byte то есть, если оно меньше Byte.MinValue или больше Byte.MaxValue), возникает ошибка компиляции.

В следующем примере целые числа равны 201, которые представлены как десятичные, шестнадцатеричные и двоичные литералы неявно преобразуются из целочисленного 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

Примечание.

Вы используете префикс или обозначает шестнадцатеричный литерал, префикс &h или &H &B для обозначения двоичного литерала, а также префикса &b &o или &O для обозначения восьмеричного литерала. У десятичных литералов префиксов нет.

Начиная с Visual Basic 2017, вы также можете использовать символ подчеркивания, _как разделитель цифр для повышения удобочитаемости, как показано в следующем примере.

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

Начиная с Visual Basic 15.5, можно также использовать символ подчеркивания (_) в качестве ведущего разделителя между префиксом и шестнадцатеричными, двоичными или восьмизначными цифрами. Например:

Dim number As Byte = &H_6A

Чтобы использовать символ подчеркивания в качестве ведущего разделителя, необходимо добавить следующий элемент в файл проекта Visual Basic (*.vbproj):

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

Дополнительные сведения см. в разделе "Выбор версии языка Visual Basic".

Советы по программированию

  • Отрицательные числа. Так как Byte это неподписанный тип, он не может представлять отрицательное число. Если вы используете унарный оператор минус (-) для выражения, которое вычисляет тип Byte, Visual Basic преобразует выражение Short в первое.

  • Преобразование формата. Когда Visual Basic считывает или записывает файлы или вызывает библиотеки DLL, методы и свойства, он может автоматически преобразоваться между форматами данных. Двоичные данные, хранящиеся в Byte переменных и массивах, сохраняются во время таких преобразований формата. Не следует использовать String переменную для двоичных данных, так как ее содержимое может быть повреждено во время преобразования между форматами ANSI и Юникодом.

  • Расширение. Тип Byte данных расширяется до Short, UShortInteger, , LongUInteger, , ULong, DecimalSingleDoubleили . Это означает, что вы можете преобразовать Byte в любой из этих типов без возникновения System.OverflowException ошибки.

  • Тип символов.Byte не имеет символа литерального типа или символа типа идентификатора.

  • Тип платформы. В .NET Framework данный тип соответствует структуре System.Byte.

Пример

В следующем примере b это Byte переменная. Инструкции демонстрируют диапазон переменной и применение операторов бит-shift к ней.

' 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)

См. также