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 Typ Byte ausgewertet wird, konvertiert Visual Basic den Ausdruck zuerst in Short.

  • 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 keine String-Variable für Binärdaten. Ihr Inhalt kann bei der Konvertierung zwischen ANSI- und Unicode-Formaten beschädigt werden.

  • Erweiterung. Der Byte-Datentyp wird zu Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single oder Double erweitert. Das bedeutet, dass Sie Byte 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)

Siehe auch