Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
820 of 1492 menu
◀ ▶

BaseStream

BaseStream у BinaryReader - тот же объект MemoryStream или другой Stream. Через него смотрят Position и Length после BinaryWriter.

Синтаксис

Stream stream = reader.BaseStream;

Пример

Давайте проверить, что это тот же поток:

using System; using System.IO; using System.Text; class Program { static void Main() { MemoryStream ms = new MemoryStream(); BinaryReader reader = new BinaryReader( ms, Encoding.UTF8, leaveOpen: true); bool res = ReferenceEquals(reader.BaseStream, ms); Console.WriteLine(res); reader.Dispose(); ms.Dispose(); } }

Результат выполнения кода:

True

Пример

Давайте прочитать Length через BaseStream:

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(1); BinaryReader reader = new BinaryReader( ms, Encoding.UTF8, leaveOpen: true); long res = reader.BaseStream.Length; Console.WriteLine(res); reader.Dispose(); writer.Dispose(); ms.Dispose(); } }

Результат выполнения кода:

4

Пример

Давайте сбросить Position через BaseStream:

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(1); BinaryReader reader = new BinaryReader( ms, Encoding.UTF8, leaveOpen: true); reader.BaseStream.Position = 0; int res = reader.ReadInt32(); Console.WriteLine(res); reader.Dispose(); writer.Dispose(); ms.Dispose(); } }

Результат выполнения кода:

1

Смотрите также

  • BinaryReader,
    класс со свойством BaseStream
  • Seek,
    смена позиции в потоке
  • Stream,
    тип BaseStream
  • MemoryStream,
    типичный буфер
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить