Dela via


Bytedatatyp (Visual Basic)

Innehåller osignerade 8-bitars heltal (1 byte) som sträcker sig i värde från 0 till 255.

Kommentarer

Byte Använd datatypen för att innehålla binära data.

Standardvärdet Byte för är 0.

Literaltilldelningar

Du kan deklarera och initiera en Byte variabel genom att tilldela den en decimalliteral, en hexadecimal literal, en oktal literal eller (från och med Visual Basic 2017) en binär literal. Om den integrerade literalen ligger utanför intervallet för en Byte (dvs. om den är mindre än eller större än Byte.MinValue Byte.MaxValue), uppstår ett kompileringsfel.

I följande exempel konverteras heltal som är lika med 201 som decimaler, hexadecimala och binära literaler implicit från Heltal till byte värden.

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

Kommentar

Du använder prefixet &h eller &H för att ange en hexadecimal literal, prefixet &b eller &B för att ange en binär literal och prefixet &o eller &O för att ange en oktal literal. Decimalliteraler har inget prefix.

Från och med Visual Basic 2017 kan du också använda understreckstecknet, , _som en sifferavgränsare för att förbättra läsbarheten, vilket visas i följande exempel.

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

Från och med Visual Basic 15.5 kan du också använda understreckstecknet (_) som en inledande avgränsare mellan prefixet och hexadecimala, binära eller oktala siffror. Till exempel:

Dim number As Byte = &H_6A

Om du vill använda understreckstecknet som en inledande avgränsare måste du lägga till följande element i visual basic-projektfilen (*.vbproj):

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

Mer information finns i Välj språkversion för Visual Basic.

Programmeringstips

  • Negativa tal. Eftersom Byte det är en osignerad typ kan den inte representera ett negativt tal. Om du använder operatorn unary minus (-) för ett uttryck som utvärderas för att skriva Bytekonverterar Visual Basic uttrycket till Short först.

  • Formatera konverteringar. När Visual Basic läser eller skriver filer, eller när det anropar DLL:er, metoder och egenskaper, kan det automatiskt konvertera mellan dataformat. Binära data som lagras i Byte variabler och matriser bevaras under sådana formatkonverteringar. Du bör inte använda en String variabel för binära data eftersom dess innehåll kan skadas under konverteringen mellan ANSI- och Unicode-format.

  • Breddning. Datatypen Byte breddas till Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single, eller Double. Det innebär att du kan konvertera Byte till någon av dessa typer utan att det uppstår något System.OverflowException fel.

  • Skriv tecken.Byte har inget tecken av typen literal eller identifierartyp.

  • Ramverkstyp. Motsvarande typ i .NET Framework är System.Byte strukturen.

Exempel

I följande exempel b är en Byte variabel. Instruktionerna visar variabelns intervall och tillämpningen av bitskiftsoperatorer på den.

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

Se även