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 |
|
char |
|
double |
|
short |
|
int |
|
long |
|
float |
|
ushort |
|
uint |
|
ulong |
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