Udostępnij za pośrednictwem


Typ danych bajtów (Visual Basic)

Zawiera niepodpisane 8-bitowe (1-bajtowe) liczby całkowite, które wahają się w wartości od 0 do 255.

Uwagi

Byte Użyj typu danych, aby zawierać dane binarne.

Wartość domyślna to Byte 0.

Przypisania literału

Zmienną Byte można zadeklarować i zainicjować, przypisując jej literał dziesiętny, literał szesnastkowy, literał ósemkowy lub (począwszy od języka Visual Basic 2017) literał binarny. Jeśli literał całkowity znajduje się poza zakresem wartości Byte (czyli jeśli jest mniejsza niż Byte.MinValue lub większa Byte.MaxValue), wystąpi błąd kompilacji.

W poniższym przykładzie liczby całkowite równe 201, które są reprezentowane jako dziesiętne, szesnastkowe i literały binarne są niejawnie konwertowane z liczby całkowitej na byte wartości.

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

Uwaga

Należy użyć prefiksu &h lub &H oznaczyć literał szesnastkowy, prefiks &b lub &B oznaczać literał binarny oraz prefiks &o lub &O oznaczać literał ósemkowy. Literały dziesiętne nie mają prefiksu.

Począwszy od języka Visual Basic 2017, można również użyć znaku podkreślenia , _jako separatora cyfr, aby zwiększyć czytelność, jak pokazano w poniższym przykładzie.

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

Począwszy od języka Visual Basic 15.5, można również użyć znaku podkreślenia (_) jako separatora wiodącego między prefiksem a cyframi szesnastkowymi, binarnymi lub ósemkowymi. Na przykład:

Dim number As Byte = &H_6A

Aby użyć znaku podkreślenia jako separatora wiodącego, należy dodać następujący element do pliku projektu Visual Basic (*.vbproj):

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

Aby uzyskać więcej informacji, zobacz Wybieranie wersji języka Visual Basic.

Porady dotyczące programowania

  • Liczby ujemne. Ponieważ Byte jest typem niepodpisanym, nie może reprezentować liczby ujemnej. Jeśli używasz operatora jednoargumentowego minus (-) w wyrażeniu, które oblicza typ , Visual Basic konwertuje Bytewyrażenie na Short pierwsze.

  • Konwersje formatu. Gdy program Visual Basic odczytuje lub zapisuje pliki albo wywołuje biblioteki DLL, metody i właściwości, może automatycznie konwertować między formatami danych. Dane binarne przechowywane w Byte zmiennych i tablicach są zachowywane podczas takich konwersji formatów. Nie należy używać zmiennej String dla danych binarnych, ponieważ jej zawartość może być uszkodzona podczas konwersji między formatami ANSI i Unicode.

  • Poszerzenie. Typ Byte danych rozszerza się na Short, , UShortLongULongUIntegerInteger, , DecimalSinglelub .Double Oznacza to, że można przekonwertować Byte na dowolny z tych typów bez napotkania błędu System.OverflowException .

  • Wpisz znaki.Byte nie ma znaku typu literału ani typu identyfikatora.

  • Typ struktury. Odpowiedni typ w programie .NET Framework jest strukturą System.Byte .

Przykład

W poniższym przykładzie b jest zmienną Byte . Instrukcje przedstawiają zakres zmiennej i zastosowanie do niej operatorów przesunięcia bitowego.

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

Zobacz też