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
Параметры
Область памяти. При возврате этого метода содержимое этой области заменяется байтами, считаемыми из текущего потока.
- minimumBytes
- Int32
Минимальное количество байтов для чтения в буфер.
- throwOnEndOfStream
- Boolean
true
Значение , чтобы создать исключение, если конец потока достигается до считывания minimumBytes
байтов; false
значение , чтобы возвращать значение меньше, чем minimumBytes
при достижении конца потока.
Значение по умолчанию — true
.
Возвращаемое значение
Общее количество байтов, считанных в буфер. Это значение гарантированно будет больше или равно minimumBytes
, если throwOnEndOfStream
имеет значение true
. Это значение будет меньше, чем minimumBytes
при достижении конца потока и throwOnEndOfStream
равно false
. Это значение может быть меньше, чем количество байтов, выделенных в буфере, если это количество байтов в настоящее время недоступно.
Исключения
minimumBytes
имеет отрицательное значение или больше длины buffer
.
throwOnEndOfStream
имеет значение true
, а конец потока достигается перед считывание minimumBytes
байтов данных.
Комментарии
Если minimumBytes
значение равно 0 (ноль), эта операция чтения будет завершена без ожидания доступных данных в потоке.