IOExtensionsReadExact - метод

Выполняет чтение указанного количества байт из потока в буфер. В результате выполнения метода либо буфер должен быть заполнен, либо поток завершился раньше, чем данные были прочитаны. Возвращает количество действительно прочитанных байт, которое может быть меньше указанного количества только в том случае, если поток завершился.

Definition

Пространство имён: Tessa.Platform.IO
Сборка: Tessa (в Tessa.dll) Версия: 4.0.4
C#
public static int ReadExact(
	this Stream stream,
	Span<byte> buffer
)

Параметры

stream  Stream
Поток, из которого выполняется чтение данных.
buffer  SpanByte
Буфер, в который записываются прочитанные данные.

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

Int32
Количество действительно прочитанных байт. Может быть меньше размера buffer, если поток завершился раньше, чем данные были прочитаны.

Примечание об использовании

В Visual Basic и C# этот метод можно вызывать как метод экземпляра для любого объекта типа Stream. При вызове метода для экземпляра следует опускать первый параметр. Дополнительные сведения см. в разделе Методы расширения (Visual Basic) или Методы расширения (Руководство по программированию в C#).

Заметки

В отличие от метода Read(SpanByte), этот метод всегда корректно обрабатывает ситуацию, в которой в поток ещё не пришли все данные из внешнего источника (например, при передаче по сети).

См. также