ReadInt64
ReadInt64 у
BinaryReader
читает 8 байт. После
Write
с 1L метод возвращает 1.
Формат совпадает с
ReadInt32,
но длина поля другая.
Синтаксис
long value = reader.ReadInt64();
Пример
Давайте прочитаем long после Write(1L):
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
MemoryStream ms = new MemoryStream();
BinaryWriter writer = new BinaryWriter(
ms, Encoding.UTF8, leaveOpen: true);
writer.Write(1L);
ms.Position = 0;
BinaryReader reader = new BinaryReader(
ms, Encoding.UTF8, leaveOpen: true);
long res = reader.ReadInt64();
Console.WriteLine(res);
reader.Dispose();
writer.Dispose();
ms.Dispose();
}
}
Результат выполнения кода:
1
Пример
Давайте проверим длину записи в потоке:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
MemoryStream ms = new MemoryStream();
BinaryWriter writer = new BinaryWriter(
ms, Encoding.UTF8, leaveOpen: true);
writer.Write(1L);
int res = ms.ToArray().Length;
Console.WriteLine(res);
writer.Dispose();
ms.Dispose();
}
}
Результат выполнения кода:
8
Пример
Давайте прочитаем два long подряд:
using System;
using System.IO;
using System.Text;
class Program
{
static void Main()
{
MemoryStream ms = new MemoryStream();
BinaryWriter writer = new BinaryWriter(
ms, Encoding.UTF8, leaveOpen: true);
writer.Write(1L);
writer.Write(1L);
ms.Position = 0;
BinaryReader reader = new BinaryReader(
ms, Encoding.UTF8, leaveOpen: true);
long first = reader.ReadInt64();
long second = reader.ReadInt64();
Console.WriteLine(first);
Console.WriteLine(second);
reader.Dispose();
writer.Dispose();
ms.Dispose();
}
}
Результат выполнения кода:
1
1
Смотрите также
-
ReadInt32,
четырёхбайтовое целое -
Write,
записьlong -
Stream,
поток под читателем -
MemoryStream,
память для теста