Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом примере показано, как использовать BitConverter класс для преобразования массива байтов в int и обратно в массив байтов. Возможно, вам придется преобразовать байты во встроенный тип данных, например, после их получения из сети. В дополнение к методу ToInt32(Byte[], Int32) в примере в следующей таблице перечислены методы в классе, преобразующем байты (из массива байтов) в BitConverter другие встроенные типы.
Возвращаемый тип | Метод |
---|---|
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) |
Примеры
В этом примере инициализируется массив байтов, переворачивает массив, если архитектура компьютера является малоконечной (то есть младший байт хранится первым), а затем выполняется вызов метода ToInt32(Byte[], Int32) для преобразования четырех байтов в int
. Второй аргумент ToInt32(Byte[], Int32) задает начальный индекс массива байтов.
Примечание.
Выходные данные могут отличаться в зависимости от порядка байтов архитектуры вашего компьютера.
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
В этом примере метод класса BitConverterGetBytes(Int32) вызывается для преобразования int
в массив байтов.
Примечание.
Выходные данные могут отличаться в зависимости от порядка байтов (эндианности) архитектуры вашего компьютера.
byte[] bytes = BitConverter.GetBytes(201805978);
Console.WriteLine("byte array: " + BitConverter.ToString(bytes));
// Output: byte array: 9A-50-07-0C