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

ReadBoolean

ReadBoolean у BinaryReader читает 1 байт. После Write(true) в потоке байт 1, после Write(false) - 0. Если байта нет - EndOfStreamException.

Синтаксис

bool value = reader.ReadBoolean();

Пример

Давайте прочитаем true после записи:

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

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

True

Пример

Давайте прочитаем false и проверим байт:

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(false); ms.Position = 0; BinaryReader reader = new BinaryReader( ms, Encoding.UTF8, leaveOpen: true); bool res = reader.ReadBoolean(); ms.Position = 0; Console.WriteLine(res); Console.WriteLine(ms.ReadByte()); reader.Dispose(); writer.Dispose(); ms.Dispose(); } }

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

False 0

Пример

Давайте поймаем пустой поток:

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); try { reader.ReadBoolean(); } catch (EndOfStreamException) { Console.WriteLine("fail"); } reader.Dispose(); ms.Dispose(); } }

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

"fail"

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

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