Share via


Procedura: convertire una matrice di byte in un Integer (Guida per programmatori C#)

In questo esempio viene illustrato come utilizzare la classe BitConverter per convertire una matrice di byte in un valore int e nuovamente in una matrice di byte. Può essere necessario, ad esempio, convertire un valore in byte in un tipo di dati incorporato dopo avere letto i byte dalla rete. Oltre al metodo ToInt32(Byte, Int32) dell'esempio, nella tabella riportata di seguito sono elencati i metodi nella classe BitConverter che convertono i byte (da una matrice di byte) in altri tipi incorporati.

Tipo restituito

Metodo

bool

ToBoolean(Byte, Int32)

char

ToChar(Byte, Int32)

double

ToDouble(Byte, Int32)

short

ToInt16(Byte, Int32)

int

ToInt32(Byte, Int32)

long

ToInt64(Byte, Int32)

float

ToSingle(Byte, Int32)

ushort

ToUInt16(Byte, Int32)

uint

ToUInt32(Byte, Int32)

ulong

ToUInt64(Byte, Int32)

Esempio

In questo esempio viene inizializzata una matrice di byte, viene convertita la matrice se l'architettura del computer è little-endian (byte meno significativo archiviato per primo), quindi viene chiamato il metodo ToInt32(Byte, Int32) per convertire quattro byte nella matrice in un valore int. Il secondo argomento nel metodo ToInt32(Byte, Int32) specifica l'indice di inizio della matrice di byte.

Nota

L'output può variare a seconda del tipo di architettura del computer (little-endian o big-endian).

byte[] bytes = { 0, 0, 0, 25 };

// If the system architecture is little-endian (that is, little end first), 
// reverse the byte array. 
if (BitConverter.IsLittleEndian)
    Array.Reverse(bytes);

int i = BitConverter.ToInt32(bytes, 0);
Console.WriteLine("int: {0}", i);
// Output: int: 25

In questo esempio il metodo GetBytes(Int32) della classe BitConverter viene chiamato per convertire un valore int in una matrice di byte.

Nota

L'output può variare a seconda del tipo di architettura del computer (little-endian o big-endian).

byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C

Vedere anche

Riferimenti

BitConverter

IsLittleEndian

Tipi (Guida per programmatori C#)