Tipo di dati byte (Visual Basic)Byte data type (Visual Basic)

Contiene interi senza segno a 8 bit (1-byte) in un intervallo compreso tra 0 e 255.Holds unsigned 8-bit (1-byte) integers that range in value from 0 through 255.

NoteRemarks

Utilizzare il Byte il tipo di dati per contenere dati binari.Use the Byte data type to contain binary data.

Il valore predefinito di Byte è 0.The default value of Byte is 0.

Assegnazioni di valori letteraliLiteral assignments

È possibile dichiarare e inizializzare un Byte variabile assegnando il valore letterale decimale, valore letterale esadecimale, un valore letterale ottale, o (a partire da Visual Basic 2017) un valore letterale binario.You can declare and initialize a Byte variable by assigning it a decimal literal, a hexadecimal literal, an octal literal, or (starting with Visual Basic 2017) a binary literal. Se il valore letterale integrale non rientra nell'intervallo di un Byte (ovvero, se è minore di Byte.MinValue o maggiore di Byte.MaxValue), si verifica un errore di compilazione.If the integral literal is outside the range of a Byte (that is, if it is less than Byte.MinValue or greater than Byte.MaxValue), a compilation error occurs.

Nell'esempio seguente, i numeri interi uguale a 201 rappresentati come decimali, esadecimali, e valori letterali binari vengono convertiti implicitamente dal intero a byte valori.In the following example, integers equal to 201 that are represented as decimal, hexadecimal, and binary literals are implicitly converted from Integer to byte values.

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

Nota

Utilizzare il prefisso &h o &H per indicare un valore letterale esadecimale, il prefisso &b o &B per indicare un valore letterale binario e il prefisso &o o &O per indicare un valore letterale ottale.You use the prefix &h or &H to denote a hexadecimal literal, the prefix &b or &B to denote a binary literal, and the prefix &o or &O to denote an octal literal. I valori letterali decimali non hanno prefissi.Decimal literals have no prefix.

A partire da Visual Basic 2017, è inoltre possibile utilizzare il carattere di sottolineatura, _, come un separatore di cifre per migliorare la leggibilità, come nell'esempio seguente viene illustrato.Starting with Visual Basic 2017, you can also use the underscore character, _, as a digit separator to enhance readability, as the following example shows.

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

A partire da Visual Basic 15,5, è inoltre possibile utilizzare il carattere di sottolineatura (_) come separatore iniziale tra il prefisso e le cifre binarie, ottale o esadecimale.Starting with Visual Basic 15.5, you can also use the underscore character (_) as a leading separator between the prefix and the hexadecimal, binary, or octal digits. Ad esempio:For example:

Dim number As Byte = &H_6A

Per utilizzare il carattere di sottolineatura come separatore iniziale, è necessario aggiungere l'elemento seguente al progetto Visual Basic (*. vbproj) file:To use the underscore character as a leading separator, you must add the following element to your Visual Basic project (*.vbproj) file:

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

Suggerimenti sulla programmazioneProgramming tips

  • Numeri negativi.Negative Numbers. Poiché Byte è un tipo unsigned, non può rappresentare un numero negativo.Because Byte is an unsigned type, it cannot represent a negative number. Se si utilizza l'operatore meno unario (-) gli operatori di un'espressione che restituisce al tipo Byte, Visual Basic converte l'espressione Short prima.If you use the unary minus (-) operator on an expression that evaluates to type Byte, Visual Basic converts the expression to Short first.

  • Conversioni di formato.Format Conversions. Quando legge o scrive i file di Visual Basic o durante la chiamata di DLL, metodi e proprietà, è possibile convertire automaticamente tra formati di dati.When Visual Basic reads or writes files, or when it calls DLLs, methods, and properties, it can automatically convert between data formats. Dati binari archiviati in Byte variabili e matrici vengono conservati durante queste conversioni di formato.Binary data stored in Byte variables and arrays is preserved during such format conversions. Non è consigliabile utilizzare un String variabili per i dati binari, perché il relativo contenuto può essere danneggiato durante la conversione tra formati ANSI e Unicode.You should not use a String variable for binary data, because its contents can be corrupted during conversion between ANSI and Unicode formats.

  • Ampliamento.Widening. Il Byte può ampliarsi nel tipo di dati Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single, o Double.The Byte data type widens to Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single, or Double. È pertanto possibile convertire Byte a uno di questi tipi senza generare un System.OverflowException errore.This means you can convert Byte to any of these types without encountering a System.OverflowException error.

  • Caratteri tipo.Type Characters. Bytenon dispone di alcun carattere di tipo letterale o un carattere di tipo identificatore.Byte has no literal type character or identifier type character.

  • Tipo di Framework.Framework Type. Il tipo corrispondente in .NET Framework è la struttura System.Byte.The corresponding type in the .NET Framework is the System.Byte structure.

EsempioExample

Nell'esempio seguente, b è un Byte variabile.In the following example, b is a Byte variable. Le istruzioni illustrano l'intervallo della variabile e l'applicazione degli operatori di spostamento di bit a esso.The statements demonstrate the range of the variable and the application of bit-shift operators to it.

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

Vedere ancheSee Also

System.Byte
Tipi di datiData Types
Funzioni di conversione del tipoType Conversion Functions
Riepilogo della conversioneConversion Summary
Uso efficiente dei tipi di datiEfficient Use of Data Types