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