Byte-Datentyp (Visual Basic)
Speichert 8-Bit-Ganzzahlen (1 Byte) ohne Vorzeichen, deren Wert sich zwischen 0 und 255 bewegt.
Bemerkungen
Verwenden Sie den Byte
-Datentyp für binäre Daten.
Der Standardwert von Byte
lautet 0.
Literalzuweisungen
Sie können eine Byte
-Variable deklarieren und initialisieren, indem Sie ihr ein dezimales, hexadezimales, oktales oder (ab Visual Basic 2017) binäres Literal zuweisen. Wenn sich das ganzzahlige Literal außerhalb des Bereichs von Byte
befindet (also kleiner als Byte.MinValue oder größer als Byte.MaxValue ist), tritt ein Kompilierfehler auf.
Im folgenden Beispiel werden ganze Zahlen, die gleich 201 sind und als dezimale, hexadezimale und binäre Literale dargestellt werden, implizit von Integer- in byte
-Werte konvertiert.
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
Hinweis
Verwenden Sie das Präfix &h
oder &H
zum Kennzeichnen eines hexadezimalen Literals, das Präfix &b
oder &B
zum Kennzeichnen eines binären Literals und das Präfix &o
oder &O
zum Kennzeichnen eines oktalen Literals. Dezimale Literale haben kein Präfix.
Ab Visual Basic 2017 können Sie zur besseren Lesbarkeit auch den Unterstrich (_
) als Zifferntrennzeichen verwenden, wie im folgenden Beispiel veranschaulicht.
Dim byteValue3 As Byte = &B1100_1001
Console.WriteLine(byteValue3)
' The example displays the following output:
' 201
Ab Visual Basic 15.5 können Sie auch den Unterstrich (_
) als vorangestelltes Trennzeichen zwischen dem Präfix und en hexadezimalen, binären oder oktalen Ziffern verwenden. Beispiel:
Dim number As Byte = &H_6A
Um den Unterstrich als vorangestelltes Trennzeichen verwenden zu können, müssen Sie Ihrer Visual Basic-Projektdatei (VBPROJ-Datei) das folgende Element hinzufügen:
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Weitere Informationen finden Sie unter Auswählen der Visual Basic-Sprachversion.
Programmiertipps
Negative Zahlen. Da
Byte
ein Typ ohne Vorzeichen ist, kann er keine negative Zahl darstellen. Wenn Sie den unären Minusoperator (-
) für einen Ausdruck verwenden, der zum TypByte
ausgewertet wird, konvertiert Visual Basic den Ausdruck zuerst inShort
.Formatkonvertierungen. Beim Lesen oder Schreiben von Dateien sowie beim Aufrufen von DLLs, Methoden und Eigenschaften kann Visual Basic automatisch Konvertierungen zwischen Datenformaten durchführen. In
Byte
-Variablen und -Arrays gespeicherte Binärdaten bleiben bei solchen Formatkonvertierungen erhalten. Verwenden Sie keineString
-Variable für Binärdaten. Ihr Inhalt kann bei der Konvertierung zwischen ANSI- und Unicode-Formaten beschädigt werden.Erweiterung. Der
Byte
-Datentyp wird zuShort
,UShort
,Integer
,UInteger
,Long
,ULong
,Decimal
,Single
oderDouble
erweitert. Das bedeutet, dass SieByte
in einen dieser Typen konvertieren können, ohne dass ein System.OverflowException-Fehler auftritt.Typzeichen.
Byte
hat kein Literal-Typzeichen oder Bezeichner-Typzeichen.Framework-Typ. Der entsprechende Typ in .NET Framework ist die System.Byte-Struktur.
Beispiel
Im folgenden Beispiel ist b
eine Byte
-Variable. Die Anweisungen veranschaulichen den Bereich der Variablen und die Anwendung von Bitschiebeoperatoren darauf.
' 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)