byte (Riferimenti per C#)

La parola chiave byte denota un tipo integrale che archivia valori, come indicato nella tabella riportata di seguito.

Digitare

Intervallo

Size

Tipo .NET Framework

byte

Da 0 a 255

Numero intero senza segno a 8 bit

System.Byte

Valori letterali

È possibile dichiarare e inizializzare una variabile byte come nell'esempio riportato di seguito.

byte myByte = 255;

Nella precedente dichiarazione il valore letterale integer 255 è convertito in modo implicito da int a byte. Se il valore letterale integer è esterno all'intervallo consentito per byte, viene generato un errore di compilazione.

Conversioni

Si verifica una conversione implicita predefinita da byte a short, ushort, int, uint, long, ulong, float, double o decimal.

Non è possibile convertire implicitamente in byte tipi numerici non letterali che richiedono un maggiore spazio in memoria. Per ulteriori informazioni sullo spazio necessario per l'archiviazione di tipi integrali, vedere Tabella dei tipi integrali (Riferimenti per C#). Si considerino, ad esempio, le due variabili byte seguenti x e y:

byte x = 10, y = 20;

L'istruzione di assegnazione riportata di seguito provocherà un errore di compilazione perché, per impostazione predefinita, l'espressione aritmetica sulla parte destra dell'operatore di assegnazione restituisce int.

// Error: conversion from int to byte:
byte z = x + y;

Per correggere l'errore, utilizzare un cast:

// OK: explicit conversion:
byte z = (byte)(x + y);

È tuttavia possibile utilizzare le seguenti istruzioni, in cui la variabile di destinazione ha dimensioni di archiviazione uguali o superiori:

int x = 10, y = 20;
int m = x + y;
long n = x + y;

Non esiste inoltre alcuna conversione implicita dai tipi a virgola mobile a byte. L'istruzione seguente, ad esempio, genera un errore di compilazione, a meno che non venga utilizzato un cast esplicito:

// Error: no implicit conversion from double:
byte x = 3.0; 
// OK: explicit conversion:
byte y = (byte)3.0;

Quando si chiamano metodi di overload è necessario utilizzare un cast. Si considerino, ad esempio, i seguenti metodi di overload che utilizzano parametri byte e int:

public static void SampleMethod(int i) {}
public static void SampleMethod(byte b) {}

L'utilizzo del cast di byte garantisce che venga chiamato il tipo corretto, ad esempio:

// Calling the method with the int parameter:
SampleMethod(5);
// Calling the method with the byte parameter:
SampleMethod((byte)5);

Per informazioni sulle espressioni aritmetiche con tipi a virgola mobile e tipi integrali, vedere float e double.

Per ulteriori informazioni sulle regole di conversione numerica implicita, vedere Tabella delle conversioni numeriche implicite (Riferimenti per C#).

Specifiche del linguaggio C#

Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.

Vedere anche

Riferimenti

Parole chiave di C#

Tabella dei tipi integrali (Riferimenti per C#)

Tabella dei tipi incorporati (Riferimenti per C#)

Tabella delle conversioni numeriche implicite (Riferimenti per C#)

Tabella delle conversioni numeriche esplicite (Riferimenti per C#)

Byte

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#