Tipo di dati Byte (Visual Basic)

Contiene interi senza segno a 8 bit (1 byte) compresi tra 0 e 255.

Osservazioni:

Usare il tipo di dati Byte per contenere dati binari.

Il valore predefinito di Byte è 0.

Assegnazioni di valori letterali

È possibile dichiarare e inizializzare una variabile Byte assegnandole un valore letterale decimale, un valore letterale esadecimale, un valore letterale ottale o (a partire da C# 2017) un valore letterale binario. Se il valore letterale integrale è esterno all'intervallo di Byte, vale a dire se è minore di Byte.MinValue o maggiore di Byte.MaxValue, si verifica un errore di compilazione.

Nell'esempio seguente, i valori interi uguali a 201 rappresentati some valori letterali decimali, esadecimali o binari vengono convertiti in modo implicito da valori integer a valori byte.

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

Usare 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. I valori letterali decimali non hanno prefissi.

A partire da Visual Basic 2017, è anche possibile usare il carattere di sottolineatura, _, come separatore di cifre per migliorare la leggibilità, come illustrato nell'esempio seguente.

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

A partire da Visual Basic 15.5, è anche possibile usare il carattere di sottolineatura (_) come separatore iniziale tra il prefisso e la cifra esadecimale, binaria o ottale. Ad esempio:

Dim number As Byte = &H_6A

Per usare il carattere di sottolineatura come separatore iniziale, è necessario aggiungere l'elemento seguente al file di progetto (*.vbproj) di Visual Basic:

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

Per altre informazioni, vedere Selezionare la versione del linguaggio visual Basic.

Suggerimenti per la programmazione

  • Numeri negativi. Poiché Byte è un tipo senza segno, non può rappresentare un numero negativo. Se si utilizza l'operatore unario meno (-) su un'espressione che restituisce il tipo Byte, Visual Basic converte innanzitutto l'espressione in Short.

  • Conversioni tra formati Quando Visual Basic legge o scrive file o quando chiama DLL, metodi e proprietà, può eseguire automaticamente la conversione tra formati di dati. I dati binari archiviati in variabili e matrici Byte vengono mantenuti durante tali conversioni di formato. Non è consigliabile usare una variabile String per i dati binari, perché il relativo contenuto può essere danneggiato durante la conversione tra formati ANSI e Unicode.

  • Ampliamento. Il tipo di dati Byte può ampliarsi nel tipo Short, UShort, Integer, UInteger, Long, ULong, Decimal, Single o Double. È pertanto possibile convertire Byte in uno di questi tipi senza generare un errore System.OverflowException.

  • Caratteri tipo. Byte non ha alcun carattere di tipo letterale o di tipo identificatore.

  • Tipo di framework. Il tipo corrispondente in .NET Framework è la struttura System.Byte.

Esempio

Nell'esempio seguente b è una variabile Byte. Le istruzioni illustrano l'intervallo della variabile e l'applicazione di operatori di spostamento a bit.

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

Vedi anche