Метод ToInt32
ToInt32(bytes, startIndex) берёт четыре
байта с позиции startIndex и собирает
int в порядке машины. На little-endian
массив { 1, 0, 0, 0 } даёт 1.
Обратная операция -
GetBytes.
Синтаксис
int num = BitConverter.ToInt32(bytes, 0);
Пример
Давайте прочитаем int из байт на
little-endian:
using System;
class Program
{
static void Main()
{
byte[] data = { 1, 0, 0, 0 };
int res = BitConverter.ToInt32(data, 0);
Console.WriteLine(res);
}
}
Результат выполнения кода на little-endian:
1
Пример
Давайте round-trip через GetBytes:
using System;
class Program
{
static void Main()
{
byte[] data = BitConverter.GetBytes(12345);
int res = BitConverter.ToInt32(data, 0);
Console.WriteLine(res);
}
}
Результат выполнения кода:
12345
Пример
Давайте прочитаем со смещением 1:
using System;
class Program
{
static void Main()
{
byte[] data = { 0, 1, 0, 0, 0 };
int res = BitConverter.ToInt32(data, 1);
Console.WriteLine(res);
}
}
Результат выполнения кода на little-endian:
1
Смотрите также
-
метод
ToInt64,
который читаетlongиз восьми байт -
метод
GetBytes,
который кодирует число в байты -
IsLittleEndian,
которое задаёт порядок при чтении -
BitConverter,
класс с методомToInt32