Stream.ReadAtLeast(Span<Byte>, Int32, Boolean) Метод

Определение

Считывает по крайней мере минимальное количество байтов из текущего потока и перемещает позицию в потоке на число прочитанных байтов.

public int ReadAtLeast (Span<byte> buffer, int minimumBytes, bool throwOnEndOfStream = true);
member this.ReadAtLeast : Span<byte> * int * bool -> int
Public Function ReadAtLeast (buffer As Span(Of Byte), minimumBytes As Integer, Optional throwOnEndOfStream As Boolean = true) As Integer

Параметры

buffer
Span<Byte>

Область памяти. При возврате этого метода содержимое этой области заменяется байтами, считаемыми из текущего потока.

minimumBytes
Int32

Минимальное количество байтов для чтения в буфер.

throwOnEndOfStream
Boolean

true Значение , чтобы создать исключение, если конец потока достигается до считывания minimumBytes байтов; false значение , чтобы возвращать значение меньше, чем minimumBytes при достижении конца потока. Значение по умолчанию — true.

Возвращаемое значение

Общее количество байтов, считанных в буфер. Это значение гарантированно будет больше или равно minimumBytes , если throwOnEndOfStream имеет значение true. Это значение будет меньше, чем minimumBytes при достижении конца потока и throwOnEndOfStream равно false. Это значение может быть меньше, чем количество байтов, выделенных в буфере, если это количество байтов в настоящее время недоступно.

Исключения

minimumBytes имеет отрицательное значение или больше длины buffer.

throwOnEndOfStream имеет значение true , а конец потока достигается перед считывание minimumBytes байтов данных.

Комментарии

Если minimumBytes значение равно 0 (ноль), эта операция чтения будет завершена без ожидания доступных данных в потоке.

Применяется к