Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a példa bemutatja, hogyan konvertálhat egy BitConverter bájttömböt int és vissza egy bájtból álló tömbbe az osztály használatával. Előfordulhat, hogy a bájtokból egy beépített adattípust kell konvertálnia, miután például kiolvassa a bájtokat a hálózatról. A példában szereplő ToInt32(Byte[], Int32) metódus mellett az alábbi táblázat az osztály azon metódusait BitConverter sorolja fel, amelyek a bájtokat (bájttömbből) más beépített típusokká konvertálják.
| Visszaadott típus | Metódus |
|---|---|
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(Bájt[], Int32) |
uint |
ToUInt32(Byte[], Int32) |
ulong |
ToUInt64(Bájt[], Int32) |
Példák
Ez a példa bájttömböt inicializál, megfordítja a tömböt, ha a számítógépes architektúra kis endian (vagyis a legkevésbé jelentős bájtot tárolja először), majd meghívja a ToInt32(Byte[], Int32) metódust a tömb négy bájtjának konvertálásához.int A ToInt32(Byte[], Int32) második argumentuma a bájtok tömbjének kezdőindexét adja meg.
Feljegyzés
A kimenet a számítógép architektúrájának endianitásától függően eltérhet.
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
Ebben a példában az GetBytes(Int32) BitConverter osztály metódusát úgy hívjuk meg, hogy bájtok int tömbje legyen.
Feljegyzés
A kimenet a számítógép architektúrájának endianitásától függően eltérhet.
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine($"byte array: {BitConverter.ToString(bytes)}");
// Output: byte array: 9A-50-07-0C