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 skrivaByte
konverterar Visual Basic uttrycket tillShort
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 enString
variabel för binära data eftersom dess innehåll kan skadas under konverteringen mellan ANSI- och Unicode-format.Breddning. Datatypen
Byte
breddas tillShort
,UShort
,Integer
,UInteger
,Long
,ULong
,Decimal
,Single
, ellerDouble
. Det innebär att du kan konverteraByte
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)