Jak: konwertowanie bajt Array na typ int (C# Programming Guide)
Ten przykład pokazuje jak używać BitConverter klasy w celu przekonwertowania tablicę bajtów, aby int i z powrotem do tablicy bajtów.Należy przekonwertować z bajtów wbudowany typ danych po przeczytaniu bajtów poza siecią, na przykład.Oprócz ToInt32(array<Byte[], Int32) metody w przykładzie w poniższej tabeli wymieniono metody w BitConverter klasy, aby konwertować bajtów (z tablicą bajtów) do innych wbudowanych typów.
Zwracany typ |
Metoda |
---|---|
bool |
|
char |
|
double |
|
short |
|
int |
|
long |
|
float |
|
ushort |
|
uint |
|
ulong |
Przykład
W tym przykładzie inicjuje tablicę bajtów, odwraca tablicy, jeśli architektura komputera jest little-endian (to znaczy najmniej znaczący bajt jest przechowywany po pierwsze), a następnie wywołuje ToInt32(array<Byte[], Int32) metodę konwersji cztery bajty w tablicy w celu int.Drugi argument ToInt32(array<Byte[], Int32) Określa indeks początkowy tablicy bajtów.
[!UWAGA]
Dane wyjściowe mogą się różnić w zależności od endianess architektury komputera.
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
W tym przykładzie GetBytes(Int32) metoda BitConverter klasy jest wywoływana w celu konwersji int do tablicy bajtów.
[!UWAGA]
Dane wyjściowe mogą się różnić w zależności od endianess architektury komputera.
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C