Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento příklad ukazuje, jak pomocí BitConverter třídy převést pole bajtů na int a zpět na pole bajtů. Po přečtení bajtů mimo síť možná budete muset převést z bajtů na předdefinovaný datový typ. Kromě metody ToInt32(Byte[], Int32) v příkladu uvádí následující tabulka metody ve BitConverter třídě, které převádějí bajty (z pole bajtů) na jiné předdefinované typy.
| 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říklady
Tento příklad inicializuje pole bajtů, vrátí matici, pokud je architektura počítače malá-endian (to znamená, že nejméně významný bajt je uložen jako první) a potom volá ToInt32(Byte[], Int32) metoda pro převod čtyř bajtů v poli na int. Druhý argument to ToInt32(Byte[], Int32) určuje počáteční index pole bajtů.
Poznámka:
Výstup se může lišit v závislosti na endianitě architektury počítače.
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: {i}");
// Output: int: 25
V tomto příkladu GetBytes(Int32) BitConverter je volána metoda třídy pro převod int na pole bajtů.
Poznámka:
Výstup se může lišit v závislosti na endianitě architektury počítače.
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine($"byte array: {BitConverter.ToString(bytes)}");
// Output: byte array: 9A-50-07-0C