Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
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. Sie müssen möglicherweise Bytes in einen integrierten Datentyp konvertieren, wenn Sie z.B. Bytes aus dem Netzwerk gelesen haben. 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.
| Zurückgegebener Typ | Methode |
|---|---|
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) |
Beispiele
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 int zu konvertieren. Das zweite Argument für ToInt32(Byte[], Int32) gibt den Startindex des Bytearrays an.
Hinweis
Die Ausgabe kann sich je nach der Bytereihenfolge der Architektur Ihres Computers unterscheiden.
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
In diesem Beispiel wird die Methode GetBytes(Int32) der Klasse BitConverter aufgerufen, um int in ein Bytearray zu konvertieren.
Hinweis
Die Ausgabe kann sich je nach der Bytereihenfolge der Architektur Ihres Computers unterscheiden.
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine($"byte array: {BitConverter.ToString(bytes)}");
// Output: byte array: 9A-50-07-0C