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.

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

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

Исключения

minimumBytes является отрицательным или больше длины buffer.

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

Комментарии

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

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