Megosztás a következőn keresztül:


Bájttömb átalakítása intre (C# programozási útmutató)

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: {0}", 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

Lásd még