Gewusst wie: Konvertieren eines Bytearrays in einen ganzzahligen Typ (C#-Programmierhandbuch)How to: Convert a byte Array to an int (C# Programming Guide)

In diesem Beispiel wird veranschaulicht, wie Sie die BitConverter-Klasse dazu verwenden, einen Bytearray in einen int-Typ und wieder zurück in ein Bytearray zu konvertieren.This example shows you how to use the BitConverter class to convert an array of bytes to an int and back to an array of bytes. Sie müssen möglicherweise Bytes in einen integrierten Datentyp konvertieren, wenn Sie z.B. Bytes aus dem Netzwerk gelesen haben.You may have to convert from bytes to a built-in data type after you read bytes off the network, for example. Die folgende Tabelle enthält zusätzlich zu der Methode ToInt32(Byte[], Int32) aus dem Beispiel auch die Methoden in der BitConverter-Klasse, die Bytes (aus einem Bytearray) in andere integrierte Typen konvertiert.In addition to the ToInt32(Byte[], Int32) method in the example, the following table lists methods in the BitConverter class that convert bytes (from an array of bytes) to other built-in types.

Zurückgegebener TypType returned MethodeMethod
bool ToBoolean(Byte[], Int32)ToBoolean(Byte[], Int32)
char ToChar(Byte[], Int32)ToChar(Byte[], Int32)
double ToDouble(Byte[], Int32)ToDouble(Byte[], Int32)
short ToInt16(Byte[], Int32)ToInt16(Byte[], Int32)
int ToInt32(Byte[], Int32)ToInt32(Byte[], Int32)
long ToInt64(Byte[], Int32)ToInt64(Byte[], Int32)
float ToSingle(Byte[], Int32)ToSingle(Byte[], Int32)
ushort ToUInt16(Byte[], Int32)ToUInt16(Byte[], Int32)
uint ToUInt32(Byte[], Int32)ToUInt32(Byte[], Int32)
ulong ToUInt64(Byte[], Int32)ToUInt64(Byte[], Int32)

BeispielExample

In diesem Beispiel wird ein Bytearray initialisiert und umgekehrt, wenn die Computerarchitektur Little-Endian entspricht (das kleinstwertige Byte wird am Anfang gespeichert). Anschließend wird die Methode ToInt32(Byte[], Int32) aufgerufen, um vier Bytes im Array in einen int zu konvertieren.This example initializes an array of bytes, reverses the array if the computer architecture is little-endian (that is, the least significant byte is stored first), and then calls the ToInt32(Byte[], Int32) method to convert four bytes in the array to an int. Das zweite Argument für ToInt32 (Byte[], Int32) gibt den Startindex des Bytearrays an.The second argument to ToInt32(Byte[], Int32) specifies the start index of the array of bytes.

Hinweis

Die Ausgabe kann sich je nach der Bytereihenfolge der Architektur Ihres Computers unterscheiden.The output may differ depending on the endianess of your computer's architecture.

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

BeispielExample

In diesem Beispiel wird die Methode GetBytes(Int32) der Klasse BitConverter aufgerufen, um int in ein Bytearray zu konvertieren.In this example, the GetBytes(Int32) method of the BitConverter class is called to convert an int to an array of bytes.

Hinweis

Die Ausgabe kann sich je nach der Bytereihenfolge der Architektur Ihres Computers unterscheiden.The output may differ depending on the endianess of your computer's architecture.

byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C

Siehe auchSee Also

BitConverter
IsLittleEndian
TypenTypes