Sdílet prostřednictvím


Jak: převést byte Array int (C# program televize)

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(array<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(array<Byte[], Int32)

char

ToChar(array<Byte[], Int32)

double

ToDouble(array<Byte[], Int32)

short

ToInt16(array<Byte[], Int32)

int

ToInt32(array<Byte[], Int32)

long

ToInt64(array<Byte[], Int32)

float

ToSingle(array<Byte[], Int32)

ushort

ToUInt16(array<Byte[], Int32)

uint

ToUInt32(array<Byte[], Int32)

ulong

ToUInt64(array<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(array<Byte[], Int32) metoda převést pole na čtyři bajty int.Druhý argument na ToInt32(array<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 (Příručka programování C#)