Sdílet prostřednictvím


Postupy: Převedení pole bajtů na typ int (Průvodce programováním v C#)

Tento příklad ukazuje, jak použít BitConverter do pole bajtů do třídy int a zpět do pole bajtů.Bude pravděpodobně nutné převést z bajtů typu vestavěné po čtení bajtů sítě, například.Kromě ToInt32(Byte, Int32) metoda příklad v následující tabulce uvedeny metody v BitConverter třídy, která převést další předdefinované typy bajtů (z pole bajtů).

Vrácený typ

Metoda

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)

Příklad

V tomto příkladu inicializuje pole bajtů, obrátí pole, pokud je počítač architektury little-endian (je nejméně významný bajt je uložen první) a pak zavolá ToInt32(Byte, Int32) metoda převést pole na čtyři bajty int.Druhý argument na ToInt32(Byte, Int32) Určuje počáteční index pole bajtů.

[!POZNÁMKA]

Výstup se může lišit v závislosti na endianess architektury v počítači.

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

V tomto příkladu GetBytes(Int32) metodu BitConverter třída se nazývá převést int do pole bajtů.

[!POZNÁMKA]

Výstup se může lišit v závislosti na endianess architektury v počítači.

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

Viz také

Referenční dokumentace

BitConverter

IsLittleEndian

Typy (Průvodce programováním v C#)